首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include<iostream.h> #include<assert.h> templ
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include<iostream.h> #include<assert.h> templ
admin
2009-02-15
86
问题
阅读下列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
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下关于模块耦合关系的叙述中,耦合程度最低的是__________(39),其耦合类型为___________(40)耦合。(40)
对于逻辑表达式((bl&b2)||in),需要_______个测试用例才能完成条件组合覆盖。
以下关于数据流图的叙述中,不正确的是()。
以下关于软件测试原则的叙述中,正确的是______。①测试开始得越早,越有利于发现缺陷②测试覆盖率和测试用例数量成正比③测试用例既需选用合理的输入数据,又需要选择不合理的输入数据④应制定测试计划并严格执行,排除随意性
对某商店业务处理系统采用数据流图(DFD)进行功能建模,其中“检查订货单”是其中的一个①。由于在进行订货单检查时,需要根据客户的欠款情况、订单金额等多个条件判断是否采取发出催款单、准备货物、发出发货单等行为,此时适合采用②进行描述。①处
系统交付后,修改原来打印时总是遗漏最后一行记录的问题,该行为属于______维护。
运行Web浏览器的计算机与网页所在的计算机要建立(66)连接,采用(67)协议传输网页文件。
根据你的网络工程经验,请用250字以内的文字简要描述该21层教学综合大楼网络层次结构设计的要点。(不要求画图)请用300字以内的文字,以提纲形式描述该21层教学综合大楼综合布线设计的方案要点。
随机试题
的通解为()。
一般情况下,会阴部手术后的拆线时间是()
不少国内学者建议摒弃免疫抑制-酶动力学法检测CK-MB的主要原因是
肝内胆小管的管壁是由()构成
具有脉形细特征的一组脉象是
A省B县2005年共收取新增建设用地土地有偿使用费100万元,按照当时规定,可留给A省B县人民政府新增建设用地土地有偿使用费()万元。
建设行政主管部门,对勘察设计持证单位的资质实行()。
将于1年内到期的长期债券投资,在资产负债表中应()。
旋律写作。以下面谱例中的旋律作为主题,分别写作三段变奏。要求:(1)变奏一:进行加花变奏。(2)变奏二:节拍改为二拍子。(3)变奏三:调式改为大调。
Theprototypingmethodisadynamicdesignprocess,whichrequirespeoplewhouseprototypingmethodtohavethefollowingcapabi
最新回复
(
0
)