首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Numberl,在构造函数时对其初始化,请在注释//********1*****
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Numberl,在构造函数时对其初始化,请在注释//********1*****
admin
2020-06-29
68
问题
使用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://www.kaotiyun.com/show/7K8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请实现函数fun(doubleb[],intlen)的如下功能:(1)b[]是一个数组,长度为len;(2)b[0]=0,b[1]=1;(3)b[i+2]=b[i]
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数MergeAndSort(ints[],inte[],inta[],intm,intn)实现将两个数组合并。这两个数组已经有序,按照由小到大的顺序排列。
有如下程序:#includeusingnamespacestd;classGA{public:virtualintf(){return1;}};classGB:publicGA{public:virtuali
下列关于运算符重载的描述中,正确的是()。
在下列选项中,不允许作为C++标识符的是
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:Constru
逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是
if语句的语法格式可描述为:格式1:if()或格式2:if()else关于上面的语法格式,下列表述中错误的是()。
设二叉树如下:则前序序列为
随机试题
A.酮症酸中毒B.视网膜病变C.心脑血管疾病D.肾衰竭E.神经病变2型糖尿病患者主要的死亡原因是
24岁妇女,3个月前曾行引产,术后不久即出现不规则阴道流血。昨日咳嗽,痰中带血,来院就诊。妇科检查:子宫稍增大、质软,双侧附件区未见异常。X线胸片见双侧肺野外带多个小结节状阴影,其中几个略大,似棉球样,血中hCG为1700kU/L。为确诊,首选的检查是
女性,50岁,粘连性肠梗阻5天,出现呼吸深快。查体:面部潮红,心率110次min,血压90/60mmHg,腱反射减弱。化验:血pH7.20,血浆HCO3-15mmol/L。如果输液后,病人出现手足抽搐,应立即静脉注射
根据我国现行规定,在计算企业所得税应纳税额时,准予扣除的项目包括( )。
个人信用贷款期限一般为()年。
甲国居民A有来源于乙国所得120万元,来源于丙国所得80万元,甲、乙、丙三国的所得税税率分别为40%、30%和50%。在综合抵免法下,上述所得的抵免额为()。
甲公司由专利权X、设备Y以及设备Z组成的生产线,专门用于生产产品W。该生产线于2011年1月投产,至2017年12月31日已连续生产7年。甲公司按照不同的生产线进行管理,产品W存在活跃市场。生产线生产的产品W经包装机H进行外包装后对外出售。(1)
甲乙合作完成一项工作,由于配合得好,甲的工作效率比单独做时提高1/10,乙的工作效率比单独做时提高1/5,甲乙合作6小时完成了这项工作。如果甲单独做需要11小时,那么乙单独做需要几小时?
[*]
A、Bygreetingeachotherverypolitely.B、Byexchangingtheirviewsonpublicaffairs.C、Bydisplayingtheirfeelingsandemotio
最新回复
(
0
)