首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
admin
2021-05-06
43
问题
有如下程序:
#include
using namespace std;
class Base{
int m;
public:
Base(){ cout<<"B1"; }
Base(int m1): m(m1){ cout<<"B2"; }
};
class Mid1: virtual public Base{ };
class Mid2: virtual public Base{ };
class Derived: public Mid2, public Mid1{
public:
Derived(int n): Base(n){ cout<<"D"; }
};
int main(){
Derived obj(5);
return 0;
}
运行上述程序的输出结果是
选项
A、B1B1D
B、B1B2D
C、B1D
D、B2D
答案
D
解析
虚继承中,无论虚基类出现在继承层次中的任何地方,总是在构造非虚基类之前构造虚基类;程序中首先构造虚基类Base,调用Base的构造函数Base(intm1),输出"B2";然后构造非虚基类,按照Derived的派生列表顺序,首先构造Mid2部分,忽略Mid2构造函数初始化列表中Base的初始化式,再构造Mid1部分,同样忽略Base的初始化式,最后构造Derived部分,执行函数体,输出"D";整个程序结果为:"B2D";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/aDfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列选项中,不是C++关键字的是()。
语句ofstreamf("SALARYDAT",iosbase::app);的功能是建立流对象f,并试图打开文件SALARYDAT与f关联,而且()。
语句int*p=&k;定义了指针p,与这个语句等效的语句序列是()。
有如下程序#includeusingnamespacestd;inti=1;classFun{public:staticinti;intvalue(){return
下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()。
下列模板声明中,有语法错误的是()。
下列叙述中正确的是
使用VC6打开考生文件夹proj3下的工程pmj3,其中定义了一个字符串变量类StringVar。类成员的说明在程序注释中。请在//**********333**********和//**********666**********之间填写StringVar
请打开考生文件夹下的解决方案文件proj2,此工程中含有一个源程序文件proj2.epp。函数char*GetNum(char*src,char*buf)从sre开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间buf中。函数返回扫描的终止
已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是3的是
随机试题
班轮运价附加费名目繁多,常见的附加费有超重附加费、超长附加费、港口附加费等,除上述附加费以外还包括()
原始氏族组织()。
按照市场行情约定价值的合同,合同履行时市场行情发生波动,则( )。
在石家庄海关办理注册登记的某报关企业,经常受河北石家庄地区的进出口公司的委托办理报关业务。该公司在不需要办理任何手续即可在石家庄及其所属的秦皇岛、唐山等地海关为这些进出口公司办理进出口货物报关手续等事宜。
一般保证的保证人与债权人未约定保证期间的,保证期间为主债务()。
为控制个人住房贷款操作风险,对借款申请人的调查内容包括()。
某周转信贷额为1500万元,年承诺费为0.6%,借款企业年度内使用了800万元(使用期限为7个月),借款年利率为8%,则该企业当年应向银行支付利息和承诺费共计()万元。
夜晚看星星,会感觉星星一闪一闪的,这是因为()。
根据我国法律的有关规定,下列选项中可以适用留置的是()。
Ifyouchooselobsterfromamenu,thenwhereveryouareintheworld,theoddsarethatyourdinnermayhavecomefromArichat
最新回复
(
0
)