首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能: (1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释∥********1******
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能: (1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释∥********1******
admin
2017-09-20
27
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能:
(1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释∥********1********后添加适当的语句。
(2)完成类CBooks的析构函数,释放申请的内存,请在注释∥********2********后添加适当的语句。
(3)完成类CBooks的AddBookMember函数,请在注释∥********3********后添加适当的语句。
(4)完成CBooks类,用于由书的ID检索到作者的函数char*GetBookAuthor(int nlD),请在注释∥********4********后添加适当的语句。
(5)程序的输出结果为:
Tom
Harry
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
#include
Class CBook
{
public:
int ID;
char Author[32];
public:
CBook(int ID Number,char*Author Name)
{
thiS一>ID=ID Number;
∥********1********
}
};
C1ass CBooks
{
private:
Class NOde
{
public:
Node*next;
CBook*book;
}*m pBook;
public:
CBooks()
{
m pBook=NULL:
}
~CBooks()
{
∥********2********
while()
{
Node*P =m
pBook一>next;
delete m pBook
一>book;
delete m pBook;
m—pBook=P;
}
}
int AddBoo kMenber(int
nID,char*Author)
{
Node*p=m—pBook;
Node*q=NULL;
∥********3********
while()
{
if f nID==P一>
book一>ID)
{
return 0;
}
q=p;
P=p一>next;
}
if(P==NULL)
{
P=new Node;
P一>next=NULL;
P—>book= new
CBook(nID,Author);
}
if(q=NULL)
{
m pBook=P;
}
else
{
q一>next=p;
}
return 1;
}
char*GetBookAuthor(int nID)
{
Node*p=m pBook;
∥********4********
while()
{
if(P一>book一>ID==nID)
{
return P一>
book一>AUthor;
}
P=P一>next;
}
return 0;
}
};
int main()
{
CBooks booksl;
booksl.AddBookMenber (1,“Tom”);
books 1.AddBookMenber (3,“Lee”);
books 1.AddBookMenber (4,“Lily”);
bookS 1.AddBookMenber(5,“Harry”);
cout<
cout<
return 0;
}
选项
答案
(1) 添加语句: strcpy(Author,Author—Name); (2)将“while()”补充完整为:while(m—pBook!=NULL) (3)将“while()”补充完整为:while(P!:NULL) (4)将“while()”补充完整为:while(p!=NULL)
解析
程序当中定义了CBook类和CBooks类,CBook类描述书的基本信息,包含ID和Author数组两个成员变量,CBooks类描述由Node对象组成的链表,每个Node对象包含指向CBook对象的指针和下一个Node对象的指针。第一个Node对象的next指针指向第二个Node对象,同样第二个Node对象的next指针指向第三个Node对象,如此形成一个链表结构。成员函数AddBookMenber(int nlD,char*Author)实现向链表中添加一个Node节点,成员函数GetBookAuthor(int nID)返回某个Node节点的CBook对象的ID为nlD的CBook对象的Author数组名。
转载请注明原文地址:https://www.kaotiyun.com/show/ZTAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列输出字符,A,的方法中,()是错误的。
在用class定义一个类时,数据成员和成员函数默认的访问权限是【】:
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是
在函数原型声明中,可以省略参数名,但必须声明函数参数的【 】。
在关系模型中,二维表的行称为______。
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
若a是float型变量,且a=6,则表达式“a/2+(int)(a+1)%2”的值为【】。
在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是
程序设计语言的基本成分是数据成分、运算成分、控制成分和
【】是指反映数据元素之间逻辑关系的数据结构。
随机试题
下列铣床中,按其结构分类,错误的是()。
颅前窝骨折()
男性,右肾结核行右肾切除1年,近日出现尿量逐渐减少,血肌酐及尿素氮逐渐升高,最可能的原因是
A.使早孕子宫的胎囊表现为双妊娠囊B.使胆囊前壁附近的腔内出现多次反射C.使膀胱内结石表现“批纱征”或“狗耳征”D.使位于膈下的肝脏内肿瘤在膈上对应部位出现重复E.可使肾的小囊肿内出现均匀分布的低水平回声属于镜面伪像的典型表现是
有关肺血栓栓塞的流行病学资料错误的是
下列关于债务免除的说法不正确的有()。
如果产品的市场需求有季节性变化特点,企业在安排其出产进度时,可采用变动安排方式,其优点是()。
在苏联教育家的代表作品中,对我国教育产生过重大影响的是()。
一场马术表演中共有七个障碍物:一个鸡笼、一道障碍门、两道石墙以及三道栅栏。这七个障碍物从1到7被连续编号,它们的编号和摆放依赖下列条件:(1)任何两道栅栏都不能连续摆放。(2)石墙必须连续摆放。如果有一道栅栏被摆放在3号位,还有一道
Whatdoesthedoctorsuggestthemanshoulddo?
最新回复
(
0
)