首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中在编辑窗口内显示的主程序文件中定义有类Base和Derived,以及主函数main。程序文本中位于每行“//****found****”下面的一行内有一处或多处下画线标记,请在每
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中在编辑窗口内显示的主程序文件中定义有类Base和Derived,以及主函数main。程序文本中位于每行“//****found****”下面的一行内有一处或多处下画线标记,请在每
admin
2019-05-29
43
问题
请使用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、 BPoint&operator++(){x++;return*this;}是在成员函数运算符重载单目运算符(前缀方式),Pointoperator++(int){Poin
A、 B、 C、 D、 C此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。
A、 B、 C、 D、 Apb作为基类指针,可以指向派生类对象,但是它只能访问基类的成员函数,而不能访问派生类的成员函数,所以pb->show();访问的是基类的show()函数,故打印10,20。
A、 B、 C、 D、 C虚函数是在类的声明中使用virtual关键字来限定的成员函数,在成员函数实现时不能再使用virtual关键字进行限定。派生类中的虚函数必须和基类中的虚函数的形参个数、形参类型、返回值
A、 B、 C、 D、 C根据对二叉树根的访问先后顺序不同,分别称为前序遍历、中序遍历和后序遍历。这3种遍历都是递归定义的,即在其子树中也按照同样的规律进行遍历。下面就是前序遍历方法的递归定义。当二叉树的根不
有如下程序:#include<iostream>usingnamespacestd;intmain(){charstr[100],*P;cout<<"pleaseinputastring:
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#include<iostream>usingnamespaees
下列符号中可以用作C++标识符的是()。
下列字符串中可以用作C++语言标识符的是
随机试题
在国际公法上,国籍是公民对国家承担效忠义务的依据,也是国家对他实行外交保护的根据。而国籍在国际私法上的意义体现在()
下列作品与人物连线错误的是()。
下面化合物在聚酰胺薄层色谱上Bf最小的化合物为
血府逐瘀汤除活血祛瘀外还具有的功用是
宜采用锤击沉桩的情况是()。
()是监督检查基金和公司运作的合法合规情况及公司内部风险控制情况的高级管理人员。
氮平衡常用于蛋白质代谢、机体蛋白质营养状况评价和()研究。
材料1:经过长期努力,中国特色社会主义进入了新时代,这是我国发展新的历史方位。这个新时代,是承前启后、继往开来、在新的历史条件下继续夺取中国特色社会主义伟大胜利的时代,是决胜全面建成小康社会、进而全面建设社会主义现代化强国的时代,是全国各族人民团结奋斗、不
促进城镇化健康发展的意义是:()
“平均地权”、“节制资本”属于孙中山思想中的()
最新回复
(
0
)