首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。通过继承完成输入到屏幕指定的信息: TestClassA TestClassB TestClassC 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整
使用VC6打开考生文件夹下的源程序文件modi3.cpp。通过继承完成输入到屏幕指定的信息: TestClassA TestClassB TestClassC 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整
admin
2021-02-22
69
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。通过继承完成输入到屏幕指定的信息:
TestClassA
TestClassB
TestClassC
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)完成类B虚继承于A,请在注释//********1********后添加适当的语句。
(2)完成类C虚继承于A,请在注释//********2********后添加适当的语句。
(3)完成类D继承于B,C,请在注释//********3********后添加适当的语句。
(4)函数fun通过调用基类的fun,完成所输出的内容,请在注释∥********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
class TestClassA
{
public:
void fun(){
cout<<"TestClassA"<
}
};
//********1********
class TestClassB
{
public:
void fun()
{
cout<<”TestClassB”<
}
};
//********2********
class TestClassC
{
public:
void fun()
{
cout<<"TestClassC"<
}
};
//********3********
class TestClassD
{
public:
void fun()
{
//********4********
}
};
void main()
{
TestClassD test;
test.fun();
return;
};
选项
答案
(1)将“class TestClassB:”补充完整为:class TestClassB:virtual public TestClassA (2)将“class TestClassC:”补充完整为:class TestClassC:virtual public TestClassA (3)将“class TestClassD:”补充完整为:class TestClassD:public TestClassB,public TestClassC (4)添加语句:TestClassA::fun();TestClassB::fun();TestClassC::fun();
解析
(1)题目1要求“完成类B虚继承于A”。在C++中,声明虚基类的一般形式为:class派生类名:virtual继承方式基类名,由题目知道TestClassA为基类,TestClassB为派生类,所以第1个标识下修改为“class TestClassB:virtual public TestClassA”。
(2)同(1),题目2和题目3中要求的标识2和3下的语句修改为“class TestClassC:Vinual public TestClassA ” 和 “class TestClassD:public TestClassB,public TestClassC”。
(3)题目4要求“函数fun通过调用基类的fun,完成所输出的内容”。在C++中调用基类的成员函数,要使用作用域限定符“::”,类名A::函数fun,就是调用类A的函数fun,根据题目中的要求补全对类TestClassA、TestClassB以及TestClassC中的fun函数,即“TestClassA::fun();TestClassB::fun();TestClassC::fun();”。
转载请注明原文地址:https://www.kaotiyun.com/show/Wofp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在关系模式A(S,SN,D)和B(D,CN,NM)中,关系A的主键是S,关系B的主键是D,则属性D在关系A中称为
违背数据流图(DFD)构造规则的是
下面不属于结构化程序设计原则的是
数据流图(DFD)中的有向箭头(→)表示
数据库设计中反映用户对数据要求的模式是
设二叉树共有500个结点,其中叶子结点有250个。则度为2的结点个数是
有如下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass(intx):val(x){}voidPrin
已知表达式++x中的“++”是作为成员函数重载的运算符,则与++x等效的运算符函数调用形式为()。
随机试题
痢疾与泄泻的鉴别点不包括
患者,女性,23岁,注射青霉素过程中,觉头晕、胸闷、面色苍白、脉细弱、血压下降,应立即注射的药物是
一外资企业拥有“沁心”商标,使用的商品为啤酒。该商标未在中国注册,但被我国有关部门认定为驰名商标。该外资企业的下列请求应当得到支持的是()。
关于离相封闭母线,以下表述中正确的是()。
电信设施共用本着()的原则,电信运营商应实现电信管道、电信杆路、通信铁塔等电信设施的共用。
项目营销不包括()。
制定风险管理有效性标准的原则有()。
根据票据法的规定,被追索人在向持票人支付有关金额及费用后,可以向其他汇票债务人行使再追索权。下列各项中,属于被追索人可请求其他汇票债务人清偿的款项有()。
半导体集成电路是微电子技术的核心。下面有关集成电路的叙述中错误的是()。
有如下类定义classAnimal{public:virtualvoidName0=0;};classKoala:publicAnimal{public:voidName()
最新回复
(
0
)