首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。 程序输出
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。 程序输出
admin
2016-10-28
65
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
程序输出结果如下:
10
5
1057
(1)定义类baseA的构造函数,该构造函数有一个整型的参数m,在构造函数中请将m赋值给数据成员a。请在注释//********1********之后添加适当的语句。
(2)定义类priA1的构造函数,该构造函数有两个整型的参数m和i1,在构造函数中请将m赋值给数据成员b,将n作为基类baseA构造函数的参数值传入。请在注释//********2********之后添加适当的语句。
(3)定义类priA2的构造函数,该构造函数有三个整型的参数m,n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类priA1构造函数的参数m和n。请在注释//********3********后添加适当的语句。
(4)完成类priA2的成员函数show的定义,该函数调用基类成员函数,输出基类私有成员a和b及类priA2自身的数据成员c的值,上述三个值在输出时以空格隔开。请在注释//********4********之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include<iostream.h>
class baseA
{
int a;
public:
//********1********
int geta(){return a;}
};
class priA1:public baseA
{
int b;
public:
//********2********
int getb(){return b;}
};
class priA2:public priA1
{
int c;
public:
//********3********
void show()
{
//********4********
}
};
void main()
{
priA2 a(7,5,10);
cout<<a.geta()<<endl;
cout<<a.getb()<<endl;
a.show();
}
选项
答案
(1)添加语句:baseA(int m){a=m;) (2)添加语句:priA1(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<<endl;
解析
(1)根据题目1要示,构造函数函数名和类名一致,显然baseA构造函数名为baseA(),在baseA()中通过参数m完成对成员变量a的赋值,因此构造函数名为baseA(int m),在函数内部对成员a赋值,故第1个标识下应添加“baseA(int m){a=m;}”。
(2)根据题目2要示,构造函数形式为priA1(int m,int n),m赋值给priA1类成员b,将n作为基类baseA构造函数的参数值传入,故第2个标识下应添加“priA1(intm,intn):baseA(n){b:m;}”。
(3)根据题目3要示,函数形式为priA2(intm,intn,intk),在构造函数中将m赋值给数据成员c,将n和k分别赋值给基类priA1构造函数的参数m和n,因此第3个标识下应添加“priA2(int m,int n,int k):priA1(n,k){c=m;}”。
(4)根据题目4要示,priA2类公有派生于priA1,而priA1公有派生于baseA,因此在priA2类中可以调用基类的getaO和getb0来获得基类私有成员a和b,再输出priA2的私有成员C即满足要求,因此第4个标识下应添加“cout<<geta0<<" "<<getb()<<" "<<c<<endl:”。
转载请注明原文地址:https://kaotiyun.com/show/8KNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的输出结果是【】。#include<iostream.h>voidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)
下面叙述不正确的是
以下程序的输出结果是#include<iostream.h>longfun(intn){longs;if(n=1||n=2)s=2;elses=n-fun(n-1);returns
下列数据模型中,具有坚实理论基础的是
模块的独立性一般用两个准则来度量,即模块间的【】和模块的内聚性。
若有以下程序:#include<iOStream>usingnamespacesstd;classA{public:A(){}A(inti){x1=i;
若类A和类B的定义如下;classA{inti,j;public:intgeti(){returni;}};clasSB:publ
头文件______中包含了处理用户控制的文件操作所需的信息。
下列运算符中,在C++语言中不能重载的是
在面向对象的程序设计中,类描述的是具有相似性质的一组【】。
随机试题
美国:墨西哥
患者于某,女性,58岁。两年前曾患“中风”,经治已愈,之后逐渐出现善忘呆滞,言语模糊不清,行为古怪孤僻,时哭时笑,诊见两目黯晦,舌黯,脉细涩。若病人日久兼气血不足应
第一个用于临床的磺酰脲类降糖药结构上属于低聚糖药物,可竞争性地抑制葡萄糖苷酶
大中型药品零售企业的质量负责人药品零售连锁门店的质量管理负责人
在项目生命周期中,融资服务需要解决的问题涉及()
某项目总投资为2000万元,分3年均衡发放,第一年投资500万元,第二年投资1000万元,第三年投资500万元,建设期内年利率为10%,则建设期贷款利息共计( )万元。
根据下面材料,回答下列题目:假定1年期零息债券面值为100元,现价为94.34元,而2年期零息债券现价为84.99元。某投资者考虑购买2年期每年付息的债券,面值为100元,年息票利率为12%。2年期零息债券的到期收益率是______;2年期有息债券的
下列不属于操作风险损失事件收集工作应坚持的原则的是()。
体育锻炼课是我国中小学最普遍、最有保障的一种课余体育活动形式。
What%theword"saying"(Line1,Para1)inthispassagemean?Whichindustrydoeshisfriendengagein?
最新回复
(
0
)