首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中的主程序文件main.cpp中定义有类XBase和XDerived,以及主函数main。程序文本中位于每行“//*********found*********”下面的一行内有一处下划线标记,请在每个下划线标记
请打开考生文件夹下的解决方案文件proj2,其中的主程序文件main.cpp中定义有类XBase和XDerived,以及主函数main。程序文本中位于每行“//*********found*********”下面的一行内有一处下划线标记,请在每个下划线标记
admin
2020-04-10
53
问题
请打开考生文件夹下的解决方案文件proj2,其中的主程序文件main.cpp中定义有类XBase和XDerived,以及主函数main。程序文本中位于每行“//*********found*********”下面的一行内有一处下划线标记,请在每个下划线标记处填写合适的内容,并删除掉下划线标记。
经修改后运行程序,得到的输出结果为:61 29
#include<iostream>
using namespace std;
class XBase
{
private;
int mem1, mem2;
public:
//用m1和m2分别初始化数据成员mem1和mem2
//*******found*******
XBase(int m1,int m2):mem1(m1),__________{}
//squareSum函数定义,返回两个数据成员平方之和
//*******found*******
virtual int squareSum()
};
class XDerived:public XBase
{
private:
int mem3;
public:
//利用m1和m2作为调用基类构造函数的实际参数
//*******found*******
XDerived(int m1,int m2,int m3):_________,mem3(m3){}
//*******found*******
________{return XBase::squareSum()+mem3*mem3;}
};
int main(){
XDerived b(2,3,4);
XBase a(5,6),*p;
p=&a;
cout<<p一>squareSum()<<’ ’;
p=&b;
cout<<p一>squareSum()<<endl;
return 0;
}
选项
答案
(1)mem2(m2) (2){return mem1 * meml+mem2 * mem2;} (3)XBase(m1,m2) (4)int squareSum()或virtual int squareSum()
解析
(1)XBase类的构造函数使用成员初始化列表完成对mem1和mem2的初始化,代码为:XBase(int m1,int m2):metal(m1),mere2(m2){}
(2根据题意,XBase类的成员函数squareSum要求返回两个成员变量meml和mem2的平方之和,代码为:virtual int squareSum(){return mem1 * mem1+mem2 * mem2;}
(3)XDerived类继承XBase,所以构造函数的成员初始化列表中首先要调用XBase的构造函数,完成基类的初始化,代码为:XDerived(int m1,int m2,int m3):XBase(m1,m2),mem3(m3){}
(4)XDerived类继承XBase,然后重写了基类的虚函数squareNum,使XDerived的成员函数squareNum返回三个成员的平方和,直接调用基类的squareNum计算mem1和mem2的平方和,然后将返回值再累加mem3的平方和,代码如下:
int squareSum(){return XBase::squareSum()+mem3术mem3;}
或:
virtual int squareSum(){return XBase::squareSum()+mem3 * mem3;}
转载请注明原文地址:https://kaotiyun.com/show/Uu8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
面向对象程序设计思想的主要特征中不包括
有如下程序:#includeusingnamespacestd;classB{public:virtualvoidf(){cout
下列类模板的定义中语法格式错误的是
下列选项可以做C++标识符的是
下面程序的运行结果是#include<iostream.h>voidfun(int*a,int*b){intx=*a;*a=*b;*b=x;cout
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、______和选择排序等。
已知下列语句中的x和y都是int型变量,其中错误的语句是______.
若a=12,b=14,c=0,则表达式“((y=(a>B)?a:B)>C)?y:c”的值为【】。
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成空出函数fun(char*S,char*t)部分。函数fun(char*s,char*t)的功能是将在字符串S中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
随机试题
信息管理的发展阶段除了传统信息管理阶段、技术管理阶段和资源管理阶段以外,还包括
小李从18岁开始工作,计划到60岁退休,假设在85岁去世,他在18岁工作后便自食其力,他每年的收入为25000元,那么他的年均储蓄大约为
A.清燥救肺汤B.月华丸C.百合固金汤D.沙参麦冬汤治疗肺阴亏损型肺痨,宜选用
A.石膏B.淡竹叶C.栀子D.夏枯草E.决明子常用治肺热喘咳的药物是()
患者,男,22岁。头痛,以后头部为主,阵阵发作,痛如锥刺,时有胀痛,每当受风或劳累时疼痛加重,舌苔薄,脉弦。治疗应首选()
下列项目中,属于“应交增值税”明细科目的借方专栏的有()。
某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下:假定int类型数据用32位补码表示,
设向量组α1,α2,α3线性无关,则下列向量组中,线性无关的是()
Heavyrainswerecausinginundationandmuchdamagethroughoutthecountry.
Oneofthemostinterestingofallstudiesisthestudyofwordsandwordorigins.Eachlanguageis(1)_____ofseveralearlierl
最新回复
(
0
)