首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
admin
2017-11-27
59
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1********后添加适当的语句。
(2)类CPri是CBase的公共继承类,请在注释//********2********后添加适当的语句。
(3)类CPri构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为0,用来对变量Number2进行初始化。请在注释//********3********后添加适当的语句。
(4)类CPri的函数display()重载于CBase的打印函数。完成对变量Number2的输出,然后调用基类的打印函数,请在注释//********4********后添加适当的语句。输出的内容如下:
Number2=12
Number=8
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
Class 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)将“CBase(int x)”补充完整为:CBase(int x):Number(x) (2)将“class CPri”补充完整为:class CPri:public CBase (3)将“CPri(int x,int y=0)”补充完整为:Cpri(int x,int y=0):CBase(x) (4)添加语句: cout<<"Number2="<
解析
(1)构造函数完成类成员变量的初始化,第1个标识下是对Number1初始化,带参数的构造函数初始化有多种方式,可以在函数体内完成初始化,或利用参数初始化表来完成初始化,显然这里不能在函数体完成初始化,只能是在函数首部实现对数据成员的初始化,因此只能通过参数初始化表来完成,这种方法不在函数体内对数据成员初始化,而是在函数首部实现,即第1个标识下应改为“CBase(intx: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,int y=0):CBase(x)”,调用CBase的构造函数完成对CBase的初始化。
(4)函数display()重载于CBase的打印函数。完成对变量Number2的输出,然后调用基类的打印函数display(),基类的display()和派生类的display()重名,调用基类的display()应过类名来直接调用,即第4个标识下应添加“cout<<"Number2="<
转载请注明原文地址:https://www.kaotiyun.com/show/lJAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面是类MyClass的定义,对定义中各语句描述正确的是()。classMyClass{private:intx,y,z;public:voidMyClass(intA){
下列运算符中全都可以被友元函数重载的是()
下列对模板的声明,正确的是()。
一个类中有【 】个构造函数。
数据结构的存储结构包括顺序、索引、散列和【 】四种。
设有二元关系R和三元关系S,下列运算中合法的是
设有定义 class C { public: int value; … }; int x, * p; 则以下引用形式中,正确的是
下列程序将x,y和z按从小到大的顺序排列,请将下面的函数模板补充完整。template<classT>voidfun(______){Ta;if(x>y)
在面向对象方法中,类之间共享属性和操作的机制称为______。
在双目运算符中需要声明其右操作数时,完成的是【 】重载,而需要声明全部操作数时,完成的是【 】重载。
随机试题
以“飘逸、奔放、雄奇、壮丽”为诗歌风格的唐代诗人是()
下列哪种心音不可闻及下列何种情况是球囊扩张的适应证
统计资料显示,1996年至2001年全国城镇住宅竣工面积分别为3.6、3.8、4.0、5.0、5.1和5.4亿平方米,则这期间城镇住宅竣工面积的年平均增长速度为()。
公司在清算期间的下列行为中,不符合法律规定的是()。
罗华在自己家小区门口开了一间汽修店,一天因修理一辆进口越野车缺零配件,晚上回家见小区里停有一辆与汽修店需要维修车同型号的越野车,便将需要的零配件盗走,罗华的行为()。
刘某自退休后在自己的院子里种植了许多盆景,由于造型别致,路过他家的人总会驻足观赏。刘某的行为所产生的外部影响可称为()。
根据所给资料,回答以下问题。2012年全年研究生教育招生59.0万人,在校研究生172.0万人,毕业生48.6万人。普通高等教育本专科在校生2391.3万人,毕业生624.7万人。各类中等职业教育在校生2120.3万人,毕业生673.6万人。全国普通高中
2006—2012年,上表中指标数值逐年减小的指标有()。
Didyounoticethe______onthedoctor’sfacewhenheheardthatKinohadfoundthepearloftheworld?
Wehadn’tmetfor8years,but_________________________________________(见面时我一眼就认出了她).
最新回复
(
0
)