首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中的主程序文件main.cpp中定义有类XBase和XDerived,以及主函数main。程序文本中位于每行“//*********found*********”下面的一行内有一处下划线标记,请在每个下划线标记
请打开考生文件夹下的解决方案文件proj2,其中的主程序文件main.cpp中定义有类XBase和XDerived,以及主函数main。程序文本中位于每行“//*********found*********”下面的一行内有一处下划线标记,请在每个下划线标记
admin
2020-04-10
40
问题
请打开考生文件夹下的解决方案文件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://jikaoti.com/ti/NwA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序:#include<iostream>usingnamespacestd;intf(intx,inty){return(y-x)*x;}intmain()
有以下程序:#include<iostream>usingnamespacestd;classPoint’{public:voidSetPoint(intx,inty);
下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
有如下类定义:classTest{chara:constcharb:public:Test(charc){a=c;b=c;}//第1行voidf(chara)const{this.>a=a;}
有如下类定义:classMyClass{intx:public:MyClass0:x(0),y(0){}intGetX0{returnx;}voidSetX(intxx){x=xx;}
下面函数的运行结果是( )。 #include <iostream> using namespace std; class A{ public: A(){} int Min(int a,int b){r
在一个类体的下列声明中,下确的纯虚函数声明星
下列选项中不全是C++语言关键字的是
在深度为5的满二叉树中,叶子结点的个数为
随机试题
违反治安管理的行为与犯罪行为的主要区别在于()。
波斯纳在《法律的经济分析》中分析法律现象采用的方法是
男,55岁,高血压病史已20余年。手术切除脾脏,切片可见脾中央小动脉管壁增厚,管腔狭窄,管壁内可见均匀红染、半透明物质。这些半透明物质为
下列不属于各级政府编制年度预算草案的依据是()。
银行对企业的借款需求进行分析的意义主要有()。
维新变法运动作为一场资产阶级改良主义政治运动,像一块巨石,投进半殖民地半封建社会中国的死水中。揭开其序幕的事件是()。
在我二十几岁的时候,我一直努力地探索怎样同时当好成功的职业妇女和快乐的家庭主妇。经过十几年的生活历练,我真的找到一种解决困境的方法,我把它称为“10—10—10法则”。每当我发现自己处于两难困境时,就会问自己3个问题:这个决定在10分钟后会带来什么结果?在
论述罗马的3世纪危机
______asitwasatsuchatime,hisworkattractedmuchattention.
WhatdidBilladviseTomtodo?BilladvisedTomnotto______.
最新回复
(
0
)