首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中在编辑窗口内显示的主程序文件中定义有类Base和Derived,以及主函数main。程序文本中位于每行“//****found****”下面的一行内有一处或多处下画线标记,请在每
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中在编辑窗口内显示的主程序文件中定义有类Base和Derived,以及主函数main。程序文本中位于每行“//****found****”下面的一行内有一处或多处下画线标记,请在每
admin
2019-05-29
40
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中在编辑窗口内显示的主程序文件中定义有类Base和Derived,以及主函数main。程序文本中位于每行“//****found****”下面的一行内有一处或多处下画线标记,请在每个下画线标记处填写合适的内容,并删除下画线标记。经修改后运行程序,得到的输出应为:
sum=55。
注意:只在横线处填写适当的代码,不要改动程序中的其他内容。
#include
using namespace std;
claSS Base
{
public:
Base(int ml,int m2){
meml=ml;mem2=m2;
}
int sum(){return meml+mem2 ;}
private:
int meml,mem2;//基类的数据成员
};
//派生类Derived从基类Base公有继承
//**********found***********
class Derived:
{
public:
//构造函数声明
Derived(int ml,int m2,int m3);
//sum函数定义,要求返回meml、mem2和mem3之和
//**********found***********
int sum(){return——+mem3;)
private:
int mem3; //派生类本身的数据成员
};
//构造函数的类外定义,要求由m1和m2分别初始化meml和mem2,由m3初始化mem3
//********** found**********
__________Derived(int ml,int m2,int
m3):
//**********found***********
__________,mem3(m3){}
int main(){
Base a(4,6);
Derived b(1 0,15,20);
int sum=a.sum()+b.sum();
cout<<“sum=”<
return 0;
}
选项
答案
(1)public Base (2)Base::sum() (3)Derived:: (4)Base(m1,m2)
解析
本题考查的是Base类及其派生类Derived类,其中涉及构造函数和成员函数。构造函数在类外定义时,因为构造函数是属于类的函数,所以函数前也要加上类名和作用域符,派生类的构造函数要先给基类初始化,使用成员列表初始化。
【解题思路】
(1)主要考查考生对公有继承的掌握情况,根据题目要求:派生类Derived从基类Base公有继承,因此这里使用public来公有继承。
(2)主要考查考生对成员函数的掌握情况,根据题目对sum函数的要求:sum函数定义,要求返回mem1、mem2和mem3之和,因此这里直接调用基类的sum函数,再加上mem3就满足题目要求。
(3)主要考查考生对构造函数的掌握情况,由于Derived的构造函数在类外定义,因此要加上类名和作用域符,即Derived::。
(4)主要考查考生对构造函数的掌握情况,因为Derived是Base类的派生类,所以其构造函数要使用成员列表初始化先给Base初始化。
【解题宝典】主要考查考生对公有继承、成员函数和构造函数的掌握程度,在派生类中直接调用基类的函数,要在前面加上基类名和作用域符,从而防止派生类中也有相同函数时产生的二义性。
转载请注明原文地址:https://kaotiyun.com/show/KB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。
A、 B、 C、 D、 C类指针可以指向派生类对象,但是只能访问基类的数据成员和成员函数。f()作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。
A、 B、 C、 D、 CC是传值调用,所以被调函数中形参值改变不会影响到实参,而且没有返回值,所以不会对调用函数产生影响。A是把引用作为函数参数,D是把指针作为函数参数,都属于传地址调用,改变形参均会影响参
A、 B、 C、 D、 D本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:①改进软件结构,提高模块独立性。通过模块的分解或合并,力求
A、 B、 C、 D、 B算法的空间复杂度一般是指:执行这个算法所需要的存储空间,其中包括算法程序所占的空间、输入的初始数据所占用的存储空间以及算法执行过程中所需要的额外空间。
面向对象程序设计主要经历了结构化设计和面向对象的程序设计阶段,面向对象在现在的程序设计中得到广泛的应用。
有如下程序:#include<iostream>usingnamespacestd;intmain(){charstr[100],*P;cout<<"pleaseinputastring:
有如下程序:#include<iostream>usingnamespacestd;classA{public:A(inti){X=i;}voiddispa(){cout<<x<<’
有如下程序:#include<iostream>usingnamespacestd;classtest{private:inta;public:test(){cout<<"c
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
资本主义发展的历史趋势是()
患者,男,60岁。咳嗽2个月,以干咳为主,有午后低热,今上午突然咯血400ml来院急诊。大咯血时,患者应采取的体位是
AIDS的实验室检测包括初筛试验和确认试验两类。如果在筛查时发现血清HIV抗体阳性,说明
乙醇及尿素等水溶性分子的吸收是不需要载体,药物从高浓度区向低浓度度区扩散的为
下列有关代履行的说法哪些是正确的?()
甲公司2011年末有关资产组、总部资产和商誉资料如下:(1)甲公司在A、B、C三地拥有三家分公司,其中,C分公司是上年吸收合并的公司。这三家分公司的经营活动由—个总部负责运作;同时,由于A、B、C三家分公司均能产生独立于其他分公司的现金流人,所以该公司将
在当前现实生活中具有广泛社会基础的奉献精神是()。
(复旦大学2018)仅限于会员国政府之间和IMF、与会员国之间使用的储备资产是()。
定义学生、教师和课程的关系模式S(S#,Sn,Sd,Dc,SA)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(C#,Cn,P#)(其属性分别为课程号、课程名、先修课);SC(S#,C#,G)(其属性分别为学号、课程号和成绩)。包含对非主属性
Walking—likeswimming,bicyclingandrunning—isanaerobicexercise,【B1】______buildsthecapacityforenergyoutputandphysica
最新回复
(
0
)