首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include<iostream.h> #include<assert.h> templ
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include<iostream.h> #include<assert.h> templ
admin
2009-02-15
49
问题
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。
【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空:
#include<iostream.h>
#include<assert.h>
template<class T>class List;
template<class T>class ListNOde{
friend (1);
private:
T data;
ListNode<T> *link;
public:
ListNode():link(NULL)()
ListNOde(const T& item,ListNOde<T>*next=NULL)
:data(item),link(next){}
};
template<class T>class List{
private:
ListNode<T>*first;
void createList(T A[],int n,int i,ListNOde<T>*&p);
void printList(ListNOde<T>*p);
public:
List();
~List();
friend ostream& operator<<(ostream& ost,List<T>&L);
friend istream& operator>>(istream& ist,List<T>&L);
};
template<class T>
istream& operator>>(istream& ist,List<T>&1){
int i,n; ist>>n;
T A[n];
for(i=0;i<n;i++) (2);
createList(A,n,0,first);
}
template<class T>
void List<T>::createList(TA[],int n,int i,ListNOde<T>*& p){
//私有函数:递归调用建立单链表
if(i==n)p=NULL;
else{
p=new ListNode<T>(A
);
assert(p !=NULL);
createList((3));
}
}
template<class T>
ostream& operator<<(ostream& ost,List<T>& L){
(4);
}
template<class T>
void List<T>::printList(ostream& ost,ListNode<T>*p){
if(p!=NULL){
ost<<p->data;
(5);
}
}
选项
答案
(1)class List<T> (2)ist>>A[i] (3)A,n,i+1,p->link (4)printList(ost,first) (5)printList(p->link)
解析
(1)class List<T>
模板类<class T>class List必须声明为模板类<class T>class ListNode的友元类,这样模板类<class T>class List的所有成员函数都可以直接访问模板类<class T>class ListNode的私有成员。
(2)ist>>A
重载友元函数>>,从输入流对象ist读取具有n个值的数组A[],调用成员函数createList建立链表L。
(3)A,n,i+1,p->link
递归成员函数createList,根据给定的具有n个值的数组A[],建立以指针p为头指针的单链表。
(4)printList(ost,first)
重载友元函数<<,将first链表输出到输出流对象ost,调用成员函数printList实现。
(5)printList(p->link)
递归成员函数printLisk,输出以指针p为头指针的链表各结点所包含的数据到输出流对象ost中。
转载请注明原文地址:https://kaotiyun.com/show/DMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要______个测试用例能够满足分支覆盖的要求。intMathMine(intx){intm=0;inti;for(i=x-1;i<=x+1;
以下关于不同类型的软件测试的叙述,正确的是______。A.单元测试不是模块测试B.多个模块不能平行地独立进行测试,应该顺序执行C.系统测试是检验程序单元或部件之间的接口关系D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期
______是当前自动化测试技术不能解决的问题。A.保证测试质量B.提高测试效率C.排除手工操作错误D.降低测试用例设计的难度
在进行产品评价时,评价者需要对产品部件进行管理和登记,其完整的登记内容应包括(35)。①部件或文档的唯一标识符。②部件的名称或文档标题。③文档的状态,包括物理状态或变异方面的状态。④请求者提供的版本、配置和日期信息。
以下关于模块耦合关系的叙述中,耦合程度最低的是__________(39),其耦合类型为___________(40)耦合。(40)
在结构化分析方法中,利用分层数据流图对系统功能建模。以下关于分层数据流图的叙述中,不正确的是___________(32)。采用数据字典为数据流图中的每个数据流、文件、加工以及组成数据流或文件的数据项进行说明,其条目不包括____________(33)。
在面向对象技术中,(43)是一组具有相同结构、相同服务、共同关系和共同语义的(44)集合,其定义包括名称、属性和操作。(44)
系统交付后,修改偶尔会出现乱码的问题,该行为属于________________维护。
ISO/IEC9126《软件工程产品质量》统一了多种质量模型。其中,下述关于软件使用质量的描述,不正确的是______。A.它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性B.使用质量的属性分为4个特性:有效性、生产率、安全性和满意度
随机试题
甲、乙是同事,因工作争执甲对乙不满,写了一份丑化乙的短文发布在丙网站。乙发现后要求丙网站删除,丙网站不予理会,致使乙遭受的损害扩大。关于扩大损害部分的责任承担,下列说法中正确的是()。
A、playsB、daysC、saysD、paysC
急性胰腺炎患者,下列指标中最易升高的是()
甲因虐待罪被判2年有期徒刑,缓期2年执行。2年考验期满后公安机关才发现甲在考验期间又犯故意伤害罪。那么对甲应当怎么处理?()
关于“临界点”叙述不正确的是( )。
质量审核过程的主要工作包括________。
党政机关公文划分文种的本质在于,一个文种就意味着一种()。
如图所示,在卫星通信过程中,当太阳光线把太阳、卫星、地面接收站连成一线时,会出现日凌现象,被人们称为“日凌中断通信”。下列日期中,我国可能出现“日凌中断通信”的是()。
中国特色社会主义思想道德与中国特色社会主义法律相辅相成、密不可分。二者的相辅相成关系主要体现在
HowPsychologyCanHelpthePlanetStayCool"I’mnotconvincedit’sasbadastheexpertsmakeout...It’severyoneelse’s
最新回复
(
0
)