首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include<iostream.h> #include<assert.h> templ
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include<iostream.h> #include<assert.h> templ
admin
2009-02-15
85
问题
阅读下列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://www.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.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期
在程序执行过程中,Cache与主存的地址映像由()。
给系统增加特征越容易,说明软件的______越好。
可用于编写独立程序和快速脚本的语言是()。
关于软件质量,______的叙述是正确的。①软件满足规定或潜在用户需求特性的总和②软件特性的总和,软件满足规定用户需求的能力③是关于软件特性具备“能力”的体现④软件质量包括“代码质量”、“外部质量”和“使用质量”3部分A.
以下(49)方法不是黑盒测试用例的设计方法。
验收测试的定义是(52)。
零件关系P(零件名,条形码,供应商,产地,价格)中的(12)属性可以作为该关系的主键。查询产于西安且名称为“P2”的零件,结果以零件名、供应商及零件价格分列表示,对应的SQL语句为:SELECT零件名,供应商,价格FROMPWHE
软件工程概念的提出是由于______。A.计算技术的发展B.软件危机的出现C.程序设计方法学的影响D.其他工程科学的影响
随机试题
为粉碎“四人帮”奠定了群众基础的事件是()
吉尔贝(Gilbert)综合征所致黄疸的特点是
简某(15周岁)很想有一辆自行车,在某自行车行,假装想购买一辆山地车,当店主黄某将一辆自行车锁打开后(该车价值1500元),简某强行骑上自行车,回到家中。事发后被公安机关追回。对简某的处理为()
以下几种特种门中,()造价最高。
甲公司是一家物业管理服务企业。为了加强风险管理与内部控制,甲公司制定了较为详细的规范业务流程的工作程序。以下是甲公司现金出纳的主要工作程序:(1)出纳人员办理收款业务时先把收到的现金清点入库,再给交款人开具收据,交款人签字、收款人签字、加盖财务专用章等收
()遗址出土的大量精美玉器揭示的远古文明,至少将中华文明史的起源提前1000多年,被称为中华“远古文明的曙光”。
下列选项中属于面向对象设计方法主要特征的是()。
______breakthelawshouldbepunished.
Cultureisoneofthemostchallengingelementsofthenational1.______marketplace.Thissystemoflearnedbehaviorpatternsc
A、Noteawasservedwiththemeal.B、ItwastherealEnglishbreakfast.C、Nooneofthegroupateit.D、Itwasalittleovercook
最新回复
(
0
)