首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)基类Person完成打印功能,定义其中的打印函数为虚函数,请在注释∥********error********后添
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)基类Person完成打印功能,定义其中的打印函数为虚函数,请在注释∥********error********后添
admin
2021-05-06
98
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)基类Person完成打印功能,定义其中的打印函数为虚函数,请在注释∥********error********后添加适当的语句。
(2)类Man继承于Person,在构造函数中设置性别为1,请在注释∥********error********后添加适当的语句。
(3)类Woman继承于Person,在构造函数中设置性别为0,请在注释∥********error********后添加适当的语句。
(4)实现函数fun(),用于传递不同的类型,打印出性别,请在注释∥********error********后添加适当的语句。
输出的内容如下:
Sex=Man
Sex=Woman
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
C1ass Person
{
public:
∥********1********
void print(){};
int sex;
};
class Man:public Person
{
public:
Man()
{
∥********2********
}
void print(){
cout<<”Man”<
};
};
class Woman:public Person
{
public:
Woman()
{
∥********3********
}
void print(){
cout<<“Woman”<
};
};
∥********4********
{
cout<<“Sex=”;
P.print();
}
int main()
{
Man m;
fun(m);
Woman n;
fun(n);
return 0;
}
选项
答案
(1)将“viid print(}{};”补充完整为:Virtual void print(){}; (2)添加语句:sex=1; (3)添加语句:sex=0; (4)添加语句:void fun(Person&p)
解析
在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,可以看出程序通过调用类的成员函数实现各种输出操作。
解题思路
(1)题目1要求“基类Person完成打印功能,定义其中的打印函数为虚函数”。虚函数是函数的一种,定义虚函数,在函数名前声明virtual就可以了,所以第1个标识下的“void print(){}; ”语句修改为“virtual void print(){};”。
(2)题目2要求“类Man继承于Person,在构造函数中设置性别为1”。基类Person中变量sex是用来存放性别的,Man继承Person,所以Man中性别的变量可以使用基类中的sex变量,设置性别为1,即“sex=1;”。
(3)题目3要求“类Woman继承于Person,在构造函数中设置性别为0”。同(2),在第三个标识下添加“sex=0;”。
(4)题目4要求“实现函数fun0,用于传递不同的类型,打印出性别”。根据“p.printO;”语句知道,fun(()函数的形参为指针p,由于它调用了基类Person中的成员函数print(),所以p的基类为Person,即添加函数fun()的定义为“void fun(Person&p)”。
转载请注明原文地址:https://kaotiyun.com/show/5Dfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是()。
有如下类定义classMyClasspublic:_________Private:intdata;};若要为MyClass类重载流输入运算符>>,使得程序中可以“cin>>obj;
在E一R图中,用来表示实体联系的图形是()。
下列语句中,错误的是()。
在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用()。
一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是( )。
有如下函数原型:intfunc(int**a,int*b,int&cintd);其中可称为引用参数的参数变量是
下列关于函数参数的叙述中,正确的是()。
下列特征中不是面向对象方法的主要特征的是()。
下列哪项不是面向对象程序设计的主要特征()。
随机试题
男性,50岁,右阴囊可复性肿物14年,不能还纳1天,伴呕吐,停止排气、排便。查体:心率108次/分,血压150/105mmHg,右阴囊肿大,压痛明显,腹膨隆,肠鸣音亢进,白细胞14×109/L,中性85%。对该患者的最佳处理是
A.重铬酸盐中毒B.甲醇中毒C.短效巴比妥类中毒D.蕈中毒急性中毒血液透析的首选指征是
下列哪项不是引起肝性脑病的诱因
法律效力是指法的适用范围,法律效力是包含
某二级公路上需建造一座跨度为25m的预应力混凝土简支梁桥,该桥使用不久即发现桥面下沉,底板混凝土开裂。业主召集有关人员到现场调查,并查阅了地质钻探资料、施工组织设计和施工记录。经查:桥位处地质为表面有厚5—7m不等的强风化泥岩,岩体破碎,裂隙发育,容许承载
根据中国金融理财标准委员会关于从业经验认定范围的规定,下列选项不正确的是( )。
下列税种中,不属于特定目的税的是()。
《周礼》
评析19世纪末20世纪初欧美新教育和进步主义教育思潮的共同特征、意义及其局限性。(2012年南京师大)
江泽民在北京大学成立一百周年讲话中指出:创新是一个民族的灵魂,是一个民族不竭的动力之源,这是因为()
最新回复
(
0
)