首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ cout
有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ cout
admin
2020-07-23
57
问题
有如下程序
#include
using namespace std;
class AA{
char c;
public:
AA(char ch):c(ch){ cout<
};
class BB: public AA{
AA m;
public:
BB(): m(’M’),AA(’C’){ cout<<"B"; }
};
int main(){
BB bb;
return 0;
}
运行这个程序的输出是
选项
A、MCB
B、BMC
C、CMB
D、BCM
答案
C
解析
派生类构造函数的工作过程:1、派生类的构造函数在执行函数体之前,首先调用基类的构造函数初始化基类;2、基类构造完成之后,在执行函数体之前根据声明次序初始化自己的成员;3、执行自身函数体。由上可知,构造函数初始化列表并不指定初始化的执行次序。所以程序中在创建BB对象时,首先调用AA的构造函数,输出"C",然后初始化类BB中的成员对象m,m是AA类对象,调用AA的构造函数,输出"M",最后执行函数体,输出"B";输出顺序为:"CMB",答案为C。
转载请注明原文地址:https://kaotiyun.com/show/Qhyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classPoint{public:voidSetX(intxx);voidSetY(intyy);private:
有如下程序#includeusingnamespacestd;classAA{charc;public:AA(charch):c(ch){cout
若要对类Value中重载的类型转换运算符long进行声明,下列选项中正确的是
有如下程序:#includeusingnamespacestd;classPoint{public:Point(intxx=0,intyy=0):x(xx),
在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
关于赋值运算符=的重载,下列表述中错误的是
有如下函数模板:templateTcast(Uu){returnu;}其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是()。
下面对软件特点描述错误的是
下列选项可以做C++标识符的是()。
下面不属于软件测试实施步骤的是
随机试题
下列关于会计估计变更的说法中,不正确的是()。
胃溃疡疼痛时间多发生在()。
早期肝癌,目前最有效的治疗方案是()
治疗结核性脑膜炎首选药物是
A:HBsAg(+)、抗-HBs(-)、HBeAg(+)、抗-HBe(-)、抗-HBC(+);B:HBsAg(+)、抗HBs(-)、HBeAg(-)、抗-Be(+)、抗-HBC(+);C:HBsAg(-)、抗一HBs(+)、HBeAg(-
国家对危险化学品的生产和储存实行统一规划、合理布局和严格控制,并对危险化学品生产、储存实行();未经(),任何单位和个人都不得生产、储存危险化学品。
货币市场基金投资于同一公司发行的短期企业债券的比例,不得超过基金资产净值的20%。()
以下不是GB/T19001—2000标准所要求必编制的程序文件是_________。
下列对VLAN标识的描述中,错误的是()。
Arequestforfurthernegotiationsletterismuchlikeyouracceptanceorrejectionofletter.Thedifferenceisthatthereques
最新回复
(
0
)