首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能: (1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释∥********1******
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能: (1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释∥********1******
admin
2017-09-20
24
问题
使用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://kaotiyun.com/show/ZTAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知递归函数fun的定义如下:intfun(intn){if(n<=1)return1;//递归结束情况elsereturnn*fun(n-2);//递归}则函数调用语句fun(5)
在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用()。
对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。
下列程序的输出结果为#include<iostream.h>intfunc(intn){if(n<1)returnl;elsereturnn+func(n-1);
应用数据库的主要目的是
所有在函数中定义的变量及函数的形式参数,都属于
判断字符型变量ch是否为大写英文字母,应使用表达式
下列叙述中错误的是
算法的复杂度主要包括时间复杂度和______复杂度。
随机试题
【】是一个全球性的非政府组织,总部设在瑞士日内瓦,其任务是推动各个行业的国际标准化活动。
金蝶KIS店铺版
A型血友病患者,男,12岁,体重38kg,将患儿体内Ⅷ:C提高30%,需要输用Ⅷ:C多少单位
下列哪种疫苗不能接种若患儿存在接种禁忌症,确实需要进行接种时,应采取的方法是
患者,男,25岁,截肢手术后需输血400ml,下列操作不正确的是
张某诉新立公司买卖合同纠纷案,新立公司不服一审判决提起上诉。二审中,新立公司与张某达成协议,双方同意撤回起诉和上诉。关于本案,下列哪一选项是正确的?(2017年卷三45题)
关于现金流量表的表述,错误的是()。
某生产企业(适用出口货物免抵退税政策)2020年6月发生一般贸易出口业务,出口发票上注明到岸价为1000万元,按合同约定企业应当承担货物出口后的运费、保险费、佣金等费用20万元,货物适用的征税率为13%,退税率为11%。则该企业当期应申报的不得免征和抵扣
劳动权保障具体体现为()。
关于共同犯罪,下列判断正确的是:
最新回复
(
0
)