首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include<iostream.h> #include<assert.h> templ
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空: #include<iostream.h> #include<assert.h> templ
admin
2009-02-15
68
问题
阅读下列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
软件设计师下午应用技术考试
软考中级
相关试题推荐
X软件公司的软件工程师张某兼职于Y科技公司,为完成Y科技公司交给的工作,做出了一项涉及计算机程序的发明。张某认为该发明是利用自己的业余时间完成的,可以以个人名义申请专利。此项专利申请权应归属()。
在.I/O设备与主机问进行数据传输时,CPU只需在开始和结束时作少量处理,而无需干预数据传送过程的是()方式。
(16)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中,(22)并不是每种编译器都必需的。
以下关于模块耦合关系的叙述中,耦合程度最低的是__________(39),其耦合类型为___________(40)耦合。(39)
在结构化分析方法中,利用分层数据流图对系统功能建模。以下关于分层数据流图的叙述中,不正确的是___________(32)。采用数据字典为数据流图中的每个数据流、文件、加工以及组成数据流或文件的数据项进行说明,其条目不包括____________(33)。
设有关系模式R(A1,A2,A3,A4,A5,A6),其中:函数依赖集F={A1→A2,A1A3→A4,A5A6→A1,A2A5→A6,A3A5→A6),则___________(21)是关系模式R的一个主键,R规范化程度最高达到____________(
零件关系P(零件名,条形码,供应商,产地,价格)中的(12)属性可以作为该关系的主键。查询产于西安且名称为“P2”的零件,结果以零件名、供应商及零件价格分列表示,对应的SQL语句为:SELECT零件名,供应商,价格FROMPWHE
《GB/T18905软件工程产品评价》标准中确定的通用评价过程包括:(55)。
ISO/IEC9126《软件工程产品质量》统一了多种质量模型。其中,下述关于软件使用质量的描述,不正确的是______。A.它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性B.使用质量的属性分为4个特性:有效性、生产率、安全性和满意度
随机试题
下列各项中,属于领导方法的特征的是()
心传导系包括()
属妊娠禁用的药多系
女,50岁。3个月来发作性头晕,头痛伴面色苍白,心悸,冷汗,共发作3次,每次持续20分钟到2小时,发作时测血压180~210/100~130mmHg,平时血压正常。查体:BP120/90mmHg,体型偏瘦,皮肤微潮,心率90次/分,心律齐,四肢末端稍凉。
价差交易是指从不同的两个期货合约彼此间相对的价格差异获取利润的交易行为,价差交易一般可分为()。Ⅰ跨期价差交易Ⅱ跨市价差交易Ⅲ跨商品价差交易Ⅳ跨地域价差交易
基金清算程序是()。
下列国家中,采用独立于中央银行的综合监管体制的国家有( )。
社会主义市场经济体制下的价格形成机制应是()。
下列各句中加点的成语,使用恰当的一句是:
I______gotherethismorning,soIstayedathome.
最新回复
(
0
)