首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能: (1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释∥********1******
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能: (1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释∥********1******
admin
2017-09-20
16
问题
使用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全国计算机二级
相关试题推荐
下列关于成员函数特征的描述中,错误的是()。
在用class定义一个类时,数据成员和成员函数默认的访问权限是【】:
C++语言中函数返回值的类型决定于
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是
下列关于栈的描述中错误的是
下列运算符中,在C++语言中不能重载的是
实现比较两个字符串大小的函数是_____。
【】是指反映数据元素之间逻辑关系的数据结构。
插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。Insert类的成员函数sort()实现了插入排序算法,请填空。classInsert{public:Insert(int*b0,in
随机试题
绞磨是一种用()牵引、提升的机械。
阿丽与芬兰的F公司签订了一份蜜蜡买卖合同,后因货款给付等问题发生争议并诉至法院,法院用微信的方式向阿丽和F公司分别送达了举证通知书,但被告阿丽未予以回复,一审法院遂对阿丽做出了缺席判决。阿丽不服欲上诉,但在上诉期限内阿丽突发心脏病人院并昏迷十余天,等其醒来
为设立中外合资经营企业,合营各方缴付出资额后,应由()验证,出具验资报告。
下列事项中,会导致企业报告收益质量降低的是( )。
财务报表日后至审计工作完成日之前发生的交易或事项。可能为注册会计师审计会计估计提供审计证据,以下说法中不正确的是()。
下列数据结构中,()是非线性数据结构。
下列各项中,有权制定税收规章的税务主管机关有()。
Shakespeare’slifetimewascoincidentwithaperiodofextraordinaryactivityandachievementinthedrama.【F1】Bythedateofh
TheradicalcauseoftheconflictinNorthernIreland:【D1】______ofIrelandPlantation:Takeplaceinthe【D2】______century.Most
Dad,WhyDidYouDoIt?EverytimethephoneringsinmyflatIjump,especiallyifit’snearmidnight.DeepdownIknowit’
最新回复
(
0
)