首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释∥********1********后添
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释∥********1********后添
admin
2021-02-22
35
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释∥********1********后添加适当的语句。
(2)类CPri是CBase的公共继承类,请在注释∥********2********后添加适当的语句。
(3)类CPri构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为0,用来对变量Number2进行初始化。请在注释∥********3********后添加适当的语句。
(4)类CPri的函数display()重载于CBas~的打印函数。完成对变量Number2的输出,然后调用基类的打印函数,请在注释∥********4********后添加适当的语句。输出的内容如下:
Number2=12
Number=8
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
C1ass CBase
{
private:
int Number;
public:
∥********1********
CBase(int x)
{}
void display()
{
cout<<"Number=”<
<
}
};
∥********2********
Class CPri
{
private:
int Number2;
public:
∥********3********
CPri(int x,int y=0)
{
Number2=y;
}
void display()
{
∥********4********
}
};
int main(){
CPri obj(8,12);
obj.display();
return 0 ;
}
选项
答案
(1)将“CBa se(int x)”补充完整为:CBase(intX):Number(x) (2)将“class CPri”补充完整为:class CPri:publ ic CBase (3)将“CPri(int x,int y=0)”补充完整为:Cpri(int x,int y=0):CBase(x) (4)添加语句:cout<<"Number2=’?<
解析
(1)构造函数完成类成员变量的初始化,第1个标识下是对Numberl初始化,带参数的构造函数初始化有多种方式,可以在函数体内完成初始化,或利用参数初始化表来完成初始化,显然这里不能在函数体完成初始化.只能是在函数首部实现对数据成员的初始化,因此只能通过参数初始化表来完成,这种方法不在函数体内对数据成员初始化,而是
在函数首部实现,即第1个标识下应改为“CBase(int x):Number(x)”。
(2)第2标识下是声明类CPri,且类CPri是CBase的公共继承类,定义派生类的一般格式为:
class<派生类名>:<继承方式1><基类名1>,
<继承方式2><基类名2>,
<继承方式n><基类名n>
{
<派生类新定义成员>
);
类CPri是CBase的公共继承类,因此第2个标识下应改为“class CPri:public CBase”。
(3)CPri构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为0,用来对变量Number2进行初始化,这里对CBase的初始化也不能在函数体内完成,因此也必须采用参数初始化表来完成,即第3个标识下应改为“CPri(int X,hat y=0):CBase(x)”,调用CBase的构造函数完成对CBase的初始化。
(4)函数display()重载于CBase的打印函数。完成对变量Number2的输出,然后调用基类的打印函数display0,基类的displayO和派生类的display()重名,调用基类的displayO应过类名来直接调用,即第4个标识下应添加“tout<<”Number2=”<
转载请注明原文地址:https://kaotiyun.com/show/lmfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个源程序文件main.cpp,其中有“房间”类Room及其派生出的“办公室”类Office的定义,还有主函数main的定义。请在程序中“//****found****”下的横线处填写适当的代码并删除
下列不属于软件工程3个要素的是()。
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
下面不属于软件设计阶段任务的是()。
数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
在下列选项中,不允许作为C++标识符的是
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
对如下二叉树进行后序遍历的结果为()。
下列字符中,可以出现在合法的C++标识符中的是
随机试题
当施行多台手术时,第一台为无菌手术,术后术者手套未破,行第二台手术前,正确的做法是
广义文化
甲公司与乙公司签订买卖合同,约定由乙公司在一个月内向甲公司提供精铝锭一批,价值138万元;如果乙公司不能按期供货,每逾期一天须向甲公司支付货款价值0.1%的违约金。合同订立后,由于组织货源的原因,乙公司在两个多月后才给甲公司交付全部产品,甲公司验货时发现不
肾移植后的并发症有()。
从诗歌体裁上来看,王昌龄的《从军行》(其四)是一首()
管电压在摄影条件选择中的意义,正确的是
债权债务明细账和财产物资明细账应当每天登记,以便随时与对方单位结算,核对库存余额。
李某为资助15岁的王某上学,与王某订立赠与合同,赠与王某10万元,并就该赠与合同办理了公证。后李某无正当理由,在交付给王某6万元后就表示不再赠与了。根据《合同法》的规定,下列表述中,正确的是()。
Thelawsaysthatwomenshouldhavethechanceofdoingthesamejobsasmenandearnthesameasthem.Therealityisvery
(2010下监理)关于三种备份方式:完全备份、差量备份和增量备份的联系和区别,说法错误的是______。
最新回复
(
0
)