首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。请完成以下部分,实现在屏幕上输出为: TestClass3 TestClass2 这个程序需要修改的部分,请按照以下部分实现。 (1)类TestClass0不能被实例化,请定
使用VC6打开考生文件夹下的源程序文件modi3.cpp。请完成以下部分,实现在屏幕上输出为: TestClass3 TestClass2 这个程序需要修改的部分,请按照以下部分实现。 (1)类TestClass0不能被实例化,请定
admin
2019-06-05
54
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。请完成以下部分,实现在屏幕上输出为:
TestClass3
TestClass2
这个程序需要修改的部分,请按照以下部分实现。
(1)类TestClass0不能被实例化,请定义一个纯虚函数print,在注释//********1********后添加适当的语句。
(2)类TestClassl私有虚继承类TestClass0,请在注释//********2********后添加适当的语句。
(3)类TestClass2公有继承类TestClass0,请在注释//********3********后添加适当的语句。
(4)类TestClass3公有继承类TestClass2与TcstClass1,请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
{}include
class TestClass0
{
//********1********
};
//********2********
class TestClass1:
{
public:
void print()
{
cout<<”TestClass1”<
}
};
//********3********
class TestClass2:
{
public:
void print()
{
cout<<"TestClass2"<
}
};
//********4********
Class TestClass3:
{
public:
void print()
{
cout<<”TestClass3”<
}
};
void main()
{
TestClass3 c3;
TestClass2 c2;
c3.print();
c2.print();
return;
}
选项
答案
(1)添加语句:virtual void print()=0; (2)将“class TestClass1:”补充完整为:class TestClass1:virtual private TestClass0 (3)将“class TestClass2:”补充完整为:class TestClass2:public TestClass0 (4)将“class TestClass3:”补充完整为:class TestClass3:public TestClass2,public TestClass1
解析
(1)题目1要求“请定义一个纯虚函数print”。在C++中,虚函数在基类中用virtual声明成员函数为虚函数。纯虚函数是在声明虚函数时被“初始化”为0的函数,即“virtual void print()=0;”。
(2)题目2要求“类TestClass1私有虚继承类TestClass0”。在C++中声明一个派生类时将基类的继承方式指定为private的,称为私有继承。同(1),声明TestClass1虚继承类“:virtual TestClass0”,题目要求为私有,即“class TestClass1:virtual privteTestClass0”。
(3)题目3要求“类TestClass2公有继承类TestClass0。”同(2),公有继承是在定义一个派生类时将基类的继承方式指定为public的,称为公用继承。所以这里补全“class TestClass2:public TestClass0”。
(4)题目4要求“类TestClass3公有继承类TestClass2与TestClass1。”同(3),所以这里补全“classTestClass3:public TestClass2,public TestClass1”。
转载请注明原文地址:https://kaotiyun.com/show/N18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于指针的说法中错误的是()。A)在指针定义的同时可以对其进行初始化B)指针根据其所指向变量的类型的不同,所占用内存大小也不同C)指针中存放的是内存单元的地址D)相同类型的指针之间可以相互赋值
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。A)*q+8B)*(q+7)C)*q+=8D)q+7
下列关于栈的叙述中,正确的选项是()。A)在栈中只能删除数据B)在栈中只能插入数据C)栈是先进先出的线性表D)栈是先进后出的线性表
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}
执行下列语句后,变量n的值是______。intn=0;for(inti=1;i<=3;i++)for(intj=1;j<<=i;j++)n++;
A、 B、 C、 D、 C白盒测试方法也称为结构测试或逻辑测试,主要方法有逻辑覆盖测试、基本路径测试等。
对软件设计的最小单位(模块或程序单元)进行的测试通常称为______测试。
若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test.txt文件的是()。A)ifstreamfin;fin.open("d:\\test.txt",ios_base::in);B)fstream
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
随机试题
作为商品交换的高级形式,最能规避风险的交易方式是()
马斯洛认为,人类有5种基本需要:生理需要、安全需要、归属和爱的需要、______和______。
内科辨证论治的核心是
哪种疾病的尿中常见大量红细胞管型
关于土地承租权的定义,其主要要点有()。
渐进规划的特点是()。①不需要高深的理论和多学科的知识,也不需要为寻找到一致的社会目标花费大量的时间和精力②规划师不必陷于繁重的资料和信息的收集工作,其所需的资料和资源可以分期解决,因而比较容易进行规划和实施③规划决策的基础相对比较可靠,不
银行结算账户发生变更的,应于()个工作日内向开户银行提出银行结算账户变更申请,并出具有关部门的证明文件。
常见的常规性货币政策工具主要包括()。Ⅰ.不动产信用控制Ⅱ.优惠利率Ⅲ.公开市场业务Ⅳ.再贴现政策
一个体系中的各种制度具有战略互补性,某一项或几项制度发生变革,其他的制度要么进行相应的变化,要么就会与新制度难以配合,对新制度的实施产生阻碍。因此,制度变革本质上就应该是整体推进的,虽然在事实上可以分步进行,否则,就会存在巨大的制度运行成本。下列对文意的概
A、Sheisdoingapaper.B、Shemissedthelecture.C、Sheisinterestedinthetopic.D、Sheiswritingapaperforascholarship.
最新回复
(
0
)