首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
admin
2019-06-05
61
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
程序输出结果如下:
10
5
10 5 7
(1)定义类baseA的构造函数,该构造函数有一个整型的参数m,在构造函数中请将m赋值给数据成员a。请在注释“//********1********”之后添加适当的语句。
(2)定义类priA1的构造函数,该构造函数有两个整型的参数m和n,在构造函数中请将m赋值给数据成员b,将n作为基类baseA构造函数的参数值传入。请在注释“//********2********”之后添加适当的语句。
(3)定义类priA2的构造函数,该构造函数有三个整型的参数m,n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类priAl构造函数的参数m和n。请在注释“//********3********”之后添加适当的语句。
(4)完成类priA2的成员函数show的定义,该函数调用基类成员函数,输出基类私有成员a和b及类priA2自身的数据成员c的值,上述三个值在输出时以空格隔开。请在注释“//********4********”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include<iostream.h>
2 class baseA
3 {
4 int a;
5 public:
6 //********1********
7
8 int geta(){return a;)
9 };
10 class priA1:public baseA
11 {
12 int b;
13 public:
14 //********2********
15
16 int getb(){return b;}
17 };
18 class priA2:public priA1
19 {
20 int c;
21 public:
22 //********3********
23
24 void show()
25 {
26 //********4********
27
28 }
29 };
30 void main()
31 {
32 priA2 a(7,5,10);
33 cout<<a.geta()<<end1;
34 cout<<a.getb()<<end1;
35 a.show();
36 }
选项
答案
(1)添加语句:baseA(int m){ a=m;} (2)添加语句:priAl(int m,int n):baseA(n){b=m;} (3)添加语句:priA2(int m,int n,int k):priA1(n,k){c=m;} (4)添加语句:cout<<geta()<<’’’’<<getb()<<’’ ’’<<c<<end1;
解析
程序当中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,pfiA2类由priA1类公有派生。构造函数是类的一种特殊的成员函数,其函数名和类名一致。构造函数可以带参数也可以不带参数,带参数的构造函数根据构造函数内部赋值语句可知其参数形式。公有派生类可以访问基类的公有成员,因此pfiA2类可以调用类baseA的geta()函数和priA1类的getb()函数,通过调用这两个函数得到基类私有成员a和b。
(1)根据题目1要示,构造函数名和类名一致,显然baseA构造函数名为baseA(),在baseA()中通过参数m完成对成员变量a的赋值,因此构造函数名为baseA(int m),在函数内部对成员a赋值,故第1个标识下应添加“baseA(int m){a=m;}”。
(2)根据题目2要示,构造函数形式为priA1(intm,int n),m赋值给priA1类成员b,将n作为基类baseA构造函数的参数值传入,故第2个标识下应添加“priA1(int m,int n):baseA(n){b=m;}”。
(3)根据题目3要示,函数形式为priA2(int m,intn,int k),在构造函数中将m赋值给数据成员c,将n和k分别赋值给基类priA1构造函数的参数m和n,因此第3个标识下应添加“pfiA2(int m,int n,intk):priA1(n,k){c=m;}”。
(4)根据题目4要示,priA2类公有派生于priA1,而priAl公有派生于baseA,因此在priA2类中可以调用基类的geta()和getb()来获得基类私有成员a和b,再输出priA2的私有成员c即满足要求,因此第4个标识下应添加“cout<<geta()<<’’ ’’r<getb()<<’’ ’’<<c<<end1;”。
转载请注明原文地址:https://kaotiyun.com/show/V18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
白箱法白箱测试是根据程序内部逻辑结构的分析来选取测试用例。由于测试用例对程序的逻辑覆盖程序决定了测试的完全性的程度,因此白箱测试也称为逻辑覆盖测试。
相关文档计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。
在每个C++程序中必须有且仅有一个()。A)函数B)主函数C)预处理指令D)语句
在公有派生时,派生类中定义的成员函数只能访问原基类的()。A)私有成员、保护成员和公有成员B)保护成员和私有成员C)公有成员和保护成员D)公有成员和私有成员
下列哪种数据模型可以用树形结构来表示实体之间联系()。A)网状模型B)数据模型C)关系模型D)层次模型
A、 B、 C、 D、 B数据的存储结构分为顺序结构和链式结构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存
对软件设计的最小单位(模块或程序单元)进行的测试通常称为______测试。
下列关于函数模板的描述中,正确的是()。A)函数模板是一个实例函数B)使用函数模板定义的函数没有返回类型C)函数模板的类型参数与函数的参数相同D)通过使用不同的类型参数,可以从函数模板得到不同的实例函数
C++中的模板分为函数模板和______。
执行语句序列“intk=0;dok++;while(k*k<20);”后,k的值为______。
随机试题
冬:暖冬
选择吸收剂时应重点考虑的是()性能。
小雅在课堂上学习了PowerPoint2010演示文稿软件的使用后,自己也制作了一个演示文稿,下图为第一张幻灯片的展示。请结合所学知识,回答下列问题。(2)在________对话框中可以设置标号⑤处的幻灯片编号。
单排柱的货棚按哪一种方法计算建筑面积?[2000年第21题][2001年第19题]
依据《中华人民共和国水土保持法》,在()坡地植树造林、抚育幼林、种植中药材等,应当采取水土保持措施。
下列有关审计证据质量的说法中,错误的是()。
以下属于具体行政行为的是()。
在Word中,如果已有页眉,在页眉中修改内容,只需双击______。
Jenny:Shallwegooutfordinnertonight?Jackie:______
PLRAirConditioningCenter27WestStreetPlainesCityLAAmerica50705March6,2004Ms.LiChunhua,PresidentNewEraEnginee
最新回复
(
0
)