首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Numberl,在构造函数时对其初始化,请在注释//********1*****
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Numberl,在构造函数时对其初始化,请在注释//********1*****
admin
2020-06-29
46
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)类CBase有一个常数变量Numberl,在构造函数时对其初始化,请在注释//********1********后添加适当的语句。
(2)类CPri是CBase的公共继承类,请在注释//********2********后添加适当的语句。
(3)类CPri构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为0,用来对变量Number2进行初始化。请在注释//********3********后添加适当的语句。
(4)类CPri的函数display()重载于CBase的打印函数。完成对变量Number2的输出,然后调用基类的打印函数,请在注释//********4********后添加适当的语句。输出的内容如下:
Number2=12
Number=8
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include
2 C1ass CBase
3 {
4 private:
5 int Number;
6 public:
7 //********1********
8 CBase(int X)
9 {}
1 0 void display()
11 {
12 cout<<"Number="<
13 }
14 };
15 //********2********
16 class CPri
17 {
18 private:
19 int Number2 ;
20 public:
21 //********3********
22 CPri(int x,int y=0)
23 {
24 Number2=yj
25 )
26 void display()
27 {
28 //********4********
29
30 }
31 };
32 int main()f
3 3 CPri obj(8,12);
34 obj.display();
35 return 0 ;
36 }
选项
答案
(1)将“CBase(int x)”补充完整为:CBase(intx):Number(x) (2)将“class CPri”补充完整为:class CPri:public CBase (3)将“CPri(intx,inty=0)”补充完整为:Cpri(intx,int y=0): CBase(x) (4)添加语句: cout<<"Nutuber2="<
解析
程序中定义了类CBase和类CPri,类CPri公有派生于类CBase,CBase中有成员变量Number,CPri有成员变量Number2,两个类均有display()~数来打印成员变量的值。
[解题思路]
(1)构造函数完成类成员变量的初始化,第1个标识下是对Numberl初始化,带参数的构造函数初始化有多种方式,可以在函数体内完成初始化,或利用参数初始化表来完成初始化,显然这里不能在函数体完成初始化,只能是在函数首部实现对数据成员的初始化,因此只能通过参数初始化表来完成,这种方法不在函数体内对数据成员初始化,而是在函数首部实现,即第1个标识下应改为“CBase(int x1: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://kaotiyun.com/show/7K8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classVAC{public:intf()const{return3;}intf(){return5;}};intmain(){VACv
在下面的类声明中,错误的是
有如下程序:#include#includeusingnamespacestd;classPerson{public:Person(string
下面对类-对象主要特征描述正确的是
已知函数func的原型为intfunc(int,int);下列重载函数原型中错误的是
下列链表中,其逻辑结构属于非线性结构的是
在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗。则实体医生和患者之间的联系是
将E-R图转换为关系模式时,实体和联系都可以表示为( )。
下列各序列中不是堆的是
在数据处理中,其处理的最小单位是()。
随机试题
属于早期胃癌的概念是()
属于成人高危ALL的有
崩漏的治疗原则是
A/主动脉夹层B/急性心肌梗死C/肺动脉栓塞D/输尿管结石E/肠系膜动脉栓塞患者男性,72岁,患者有高血压病病史20余年,晚餐后突发胸骨后压榨样疼痛2小时,向左肩背部放射,伴大汗淋漓,面色苍白
排除有爆炸危险气体的排风系统,其风量应按在正常运行和事故情况下,风管内这些物质的浓度不大于爆炸下限的多少计算?(2008,84)
【背景资料】某施工单位承接了南方一座双向四车道分离式隧道施工,该隧道穿越一向斜构造。该隧道全长4279m,最大埋深1049m,单孔隧道净空宽度9.14m,单孔净空高度6.98m。两洞口处有明洞,边坡较稳定。施工单位结合该隧道的特点进行了施工组织设计,其中
根据下列图表资料,回答下列问题。
A、条件(1)充分,但条件(2)不充分。B、条件(2)充分,但条件(1)不充分。C、条件(1)和(2)单独都不充分,但条件(1)和条件(2)联合起来充分。D、条件(1)充分,条件(2)也充分。E、条件(1)和(2)单独都不充分,条件(1)和条件(2
JPEG是一个用于数字信号压缩的国际标准,其压缩对象是()。
Creationistsaredeeplyenamoredofthefossilrecord,becausetheyhavebeentaughttorepeatoverandoverthatitisfullof
最新回复
(
0
)