首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)基类Person完成打印功能,定义其中的打印函数为虚函数,请在注释∥********error********后添
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)基类Person完成打印功能,定义其中的打印函数为虚函数,请在注释∥********error********后添
admin
2021-05-06
96
问题
使用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全国计算机二级
相关试题推荐
在对函数进行原型声明时,下列语法成分中,不需要的是()。
下列关于赋值运算符“=”重载的叙述中,正确的是()。
从工程管理角度看,软件设计一般分为两步完成,它们是()。
有如下类定义:classTest{public:Test(){a=0;c=0;}∥①intf(inta)bonst{this->a=a;}//②staticintg()
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#includeusingnamespacestd;classBase{inta,b;
层次型、网状型和关系型数据库划分原则是()。
在C++语言系统中,用于输入数据所使用的标识符cin是
已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是3的是
随机试题
在Excel2010中,不属于迷你图的样式的是()
侵袭性葡萄胎是在子宫肌层内可见完整的水泡状绒毛,滋养细胞增生程度和异型性比良性葡萄胎显著。()
关于急性肢体动脉栓塞,下列说法正确的是
静脉血栓形成可分成两种类型,下述正确的是
在接触麻疹后超过多少天注射免疫球蛋白无法达到保护作用
小英同时掷甲、乙两枚质地均匀的小立方体(立方体的每个面上分别标有数字1,2,3,4,5,6)。记甲立方体朝上一面上的数字为x、乙立方体朝上一面朝上的数字为y,这样就确定点P的一个坐标(x,y),那么点P落在双曲线y=上的概率为()。
我国的著作权包括著作人身权和著作财产权。著作人身权指作者对自己的作品依法享有的以人身权益为内容的权利。它不包括()。
设f(x)=,求f(x)的间断点及其分类.
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是
流逝,表现了南国人对时间最早的感觉。“子在江上曰:逝者如斯夫。”他们发现无论是潺潺小溪,还是浩荡大河,都一去不复返,流逝之际青年变成了老翁而绿草转眼就枯黄,很自然有错阴的紧迫感。流逝也许是缓慢的,但无论如何缓慢,对流逝的恐惧使人们必须用“流逝”这个词来时时
最新回复
(
0
)