首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.epp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
使用VC6打开考生文件夹下的源程序文件modi3.epp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
admin
2019-06-05
57
问题
使用VC6打开考生文件夹下的源程序文件modi3.epp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1********后添加适当的语句。
(2)类CPri是CBase的公共继承类,请在注释//********2********后添加适当的语句。
(3)类CPri构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为0,用来对变量Number2进行初始化。请在注释//********3********后添加适当的语句。
(4)类CPri的函数display()重载于CBase的打印函数。完成对变量Number2的输出,然后调用基类的打印函数,请在注释//********4********后添加适当的语句。输出的内容如下:
Number2=12
Number=8
注意:除在指定位置添加语句之外,请不要改动程中的其他内容。
1 #include<iostream.h>
2 class CBase
3 {
4 private:
5 int Number;
6 public:
7 //********1********
8 CBase(int x)
9 {}
10 void display()
11 {
12 cout<<’’Number=’’<<Number<<end1;
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=y;
25 }
26 void display()
27 {
28 //********4********
29
30 }
31 };
32 int main(){
33 CPri obj(8,12);
34 obj.display();
35 return 0;
36 }
选项
答案
(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=’’<<Number2<< end1;CBase::dlsplay();
解析
程序中定义了类CBase和类CPri,类CPri公有派生于类CBase,CBase中有成员变量Number,CPri有成员变量Number2,两个类均有display()函数来打印成员变量的值。
(1)构造函数完成类成员变量的初始化,第1个标识下是对Number1初始化,带参数的构造函数初始化有多种方式,可以在函数体内完成初始化,或利用参数初始化表来完成初始化,显然这里不能在函数体完成初始化,只能是在函数首部实现对数据成员的初始化,因此只能通过参数初始化表来完成,这种方法不在函数体内对数据成员初始化,而是在函数首部实现,即第1个标识下应改为“CBase(int x):Number(x)”。
(2)第2标识下是声明类CPri,且类CPri是CBase的公共继承类,定义派生类的一般格式为:
class<派生类名>:<继承方式l><基类名l>,
<继承方式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=’’<<Number2<<end1;CBase::display();”。
转载请注明原文地址:https://kaotiyun.com/show/j18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
白箱法白箱测试是根据程序内部逻辑结构的分析来选取测试用例。由于测试用例对程序的逻辑覆盖程序决定了测试的完全性的程度,因此白箱测试也称为逻辑覆盖测试。
下面不属于C++的预定义的流对象是()。A)cinB)iostreamC)clogD)Celt
下面关于虚函数的描述中,正确的是()。A)基类中利用virtual关键字说明一个虚函数后,其派生类中定义相同的原型函数时可不必加virtual来说明B)虚函数是非成员函数C)虚函数是static类型的成员函数D)派生类中的虚函数与基
下列对于线性链表的描述中,正确的是()。A)存储空间必须连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且各元素的存储顺序是任意的C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间不一定是连续,且前件元素
A、 B、 C、 D、 C软件的生命周期可分为软件定义、软件开发及软件运行维护三个阶段。其中软件定义阶段的主要工作有可行性研究与计划制订和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;软件运
对软件设计的最小单位(模块或程序单元)进行的测试通常称为______测试。
C++中的模板分为函数模板和______。
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。A)fstreamB)istrearaC)ostreamD)iomanip
友元类的所有成员函数都是另一个类的______。
随机试题
A、At6:30am.B、At7:00am.C、At7:30am.D、At7:00pm.B男士说他需要一张12月22日航班220的机票,女士说好的,并告诉男士飞机早上7点起飞。由此可知,航班220的起飞时间是早上7点。
乳房的正确检查方法应是()
下列属于水平承重构件的是()。
不锈钢中主要添加的元素为()。
某实施监理的工程,在招标与施工阶段发生如下事件:事件1:招标代理机构提出,评标委员会由7人组成,包括建设单位纪委书记、工会主席、当地招标投标管理办公室主任,以及从评标专家库中随机抽取的4位技术、经济专家。事件2:建设单位要求招标代理机构在招
采用了同步CDMA、智能天线、软件无线电、接力切换等一系列高新技术的全新移动通信技术是()。
我国银监会要求各家商业银行同时实施《巴塞尔新资本协议》。()
《刑法》第111条为境外的机构、组织、人员窃取、刺探、收买、非法提供国家秘密或者情报的,处五年以上十年以下有期徒刑;情节特别严重的,处十年以上有期徒刑或者无期徒刑;情节较轻的,处五年以下有期徒刑、拘役、管制或者剥夺政治权利。问题:请对该法条进行分析。
下列选项中,与实现运行时多态性无关的是()。
Moreandmoreresidences,businesses,andevengovernmentagenciesareusingtelephoneansweringmachinestotakemessagesorgi
最新回复
(
0
)