首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。通过继承完成输入到屏幕指定的信息: TestClassA TestClassB TestClassC 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。通过继承完成输入到屏幕指定的信息: TestClassA TestClassB TestClassC 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
admin
2018-09-13
21
问题
使用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:vinualpublic TestClassA (2)将“class TestClassC:”补充完整为:class TestClassC:virtual public TestClassA (3)将“class TestClassD:”补充完整为:class TestClassD:public TestClassB,public TestClassC (4)添加语句:TestClassA::fun();TestCklssB::fun();TestClassC::fun();
解析
(1)题目1要求“完成类B虚继承于A”。在C++中,声明虚基类的一般形式为:class派生类名:virtual继承方式基类名,由题目知道TestclassA为基类,TestClassB为派生类,所以第1个标识下修改为“class TestclassB:virtual Dublic TestclassA”。
(2)同(1),题目2和题目3中要求的标识2和3下的语句修改为“claSs TestClassC:virtual 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://jikaoti.com/ti/Tht0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于运算符重载的描述中,正确的是()。
关于在调用模板函数时模板实参的使用,下列表述正确的是()。
有如下类声明:classTestClassinti;private:intj;protected:intk;public:intm,n;其中,私有成员的数量为()。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是______。#include<iostream>usingnamespacestd;c
下列运算符中全都可以被友元函数重载的是()。
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员数的声明语句为()。
为用户与数据库系统提供接口的语言是
两个或两个以上模块之间关联的紧密程度称为()。
“年龄在18~25之间”这种约束是属于数据库当中的
以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是()。
随机试题
A.Yes,hedoesB.Would9:30beconvenientC.CanIhelpyouD.thisismynamecardE.outonbusinesstodayF.Itwon’tbelo
下列关于口腔境界叙述错误的是
短期验潮站和临时验潮站深度基准面的确定不能采用的方法是()。
根据贷款五级分类制度,不良贷款包括()。
能够反映企业利息偿付安全性的最佳指标是()。
排除求助者精神病性精神障碍的依据不包括()。从上述摄入性谈话中心理咨询师获得的资料有()。
()是由学校针对学生的兴趣和需要,依据当地社会、经济发展的具体情况,结合学校的传统和优势,充分利用学校和社区的课程资源,自主开发和实施的课程。
幼儿记忆水平有显著提高。主要可以归纳为两个方面。一方面是__________、___________、继续发展,而且达到相当高度的水平;另一方面是记忆的意识性和理解性明显地提高,表现为_________、___________、____________逐
一、注意事项1.申论考试与传统的作文考试不同,是分析驾驭材料的能力与表达能力并重的考试。2.仔细阅读给定的资料,按照后面提出的“答题要求”依次作答。二、给定资料资料一2010年3月28日14时30分,山西乡宁县王家岭煤矿
在窗体中有一个命令按钮(名称为run34),对应的事件代码如下:PrivateSubrun34_Click()sum=0Fori=10To1Step-2sum=sum+iNextiMsgBoxsumEndSub运行以上事件
最新回复
(
0
)