首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
要使程序执行后的输出结果为ABCD,应在横线处添加语句( )。 #include usingnamespace std; class A { public:A(){cout
要使程序执行后的输出结果为ABCD,应在横线处添加语句( )。 #include usingnamespace std; class A { public:A(){cout
admin
2020-07-23
57
问题
要使程序执行后的输出结果为ABCD,应在横线处添加语句( )。
#include
usingnamespace std;
class A
{
public:A(){cout<<~A;}
};
class B=________
{
public:B(){cout<<’B’;}
};
class C:virtual public A
{
public:C(){cout<<’C’;}
};
class D:public B,public C
{
public:D(){cout<<’D’;}
};
void main(){D obj;}
选项
A、public A
B、private A
C、protected A
D、virtual public A
答案
D
解析
由主函数main入手,定义了类D对象obj。其中D为类B和C的公有继承,A是C的虚基类。题目中要求的输出结果为“ABCD”,依次为类A,类B,类C,类D中构造函数的输出语句。为了保证基类通过多条路径被派生类继承时,即保证A只被继承一次,输出一个A,所以不但需要声明A为C的虚基类,同样也要声明A为B的虚基类。
转载请注明原文地址:https://www.kaotiyun.com/show/s1yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classB{public:virtualvoidshow(){cout
有如下类定义:classAA{inta;public:AA(intn=0):a(n){}};classBB:publicAA{public:BB(intn)};其中横线处缺失的部分
有如下程序:#includeusingnamespacestd;classBase1{public:Base1(){}~Base1(){cout
下列因素中,对C++编译器区分重载函数无任何意义的是
下面属于白盒测试方法的是
有如下程序:#includeusingnamespacestd;classBase{public:Base(){cout
将十进制数转换为二进制数的递归函数定义如下:voidd2b(unsignedintn){if((n==0)||(n==1))cout
派生类的成员函数不能访问的基类成员是
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
有如下两个类定义:classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义
随机试题
“类似商品和服务区分表”共45个类别,分为()两大部分。
AsaforeignerdoingbusinessintheUnitedStates,Ifeelveryrushed.Iamusedtofriendlyopeningexchangeswhendoingbusin
瘀积胎黄的治法是寒湿胎黄的治法是
既适用普通地面铺设,又适用地热采暖地板铺设的是()。
下列属于手动火灾报警按钮的分类的是()。
上海某出版社与国外某出版公司在北京签订了一份著作权贸易合同,按规定应报()审核登记。
下列用于承载多个VLAN信息的协议是__________。(2013年上半年试题)
以下数据结构中,属于线性数据结构的是
Ofthethreebrothers,theyoungestruns______.
TestsconductedattheuniversityofPennsylvania’sPsychologicalLaboratoryshowedthatangerisoneofthemostdifficultemot
最新回复
(
0
)