首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: class Base1{ int m; public: Base(int m1): m(m1){} }; class Base2{ int n;
有如下类定义: class Base1{ int m; public: Base(int m1): m(m1){} }; class Base2{ int n;
admin
2020-07-23
35
问题
有如下类定义:
class Base1{
int m;
public:
Base(int m1): m(m1){}
};
class Base2{
int n;
public:
Base(int n1): n(n1){}
};
class Derived: public Base2,public Base1{
int q;
public:
Derived(int m1, int n1, int q1): q(q1),Base1(m1),Base2(n1){};
};
在创建一个 Derived 对象时,数据成员 m、n 和 q 被初始化的顺序是
选项
A、m、n、q
B、n、m、q
C、q、m、n
D、q、n、m
答案
B
解析
C++中,派生类构造函数都是先调用基类构造函数,再根据声明次序定义数据成员,所以Derived构造函数的初始化列表中,最后初始化q;另外对于多继承,派生类的构造函数初始化列表中,基类构造函数是按照基类在派生类的派生列表中出现的次序调用的;由于Derived类的派生列表中,Base2在前,所以应该先调用Base2的构造函数;这样Derived类中初始化顺序为:基类Base2、基类Base1、数据成员q;所以数据成员m、n、q的初始化顺序为:n、m、q,答案为B。
转载请注明原文地址:https://kaotiyun.com/show/i6yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列有关继承和派生的表述中,正确的是
下列关于模板形参的叙述中,错误的是
Sample是一个类,且有如下语句:Samplea[2],*p=newSample;执行这个语句时调用Sample类的构造函数的次数是
下列关于基类和派生类关系的叙述中,正确的是()。
对下列二叉树进行前序遍列的结果为
下列字符串中可以用作C++标识符的是
下面不属于软件测试实施步骤的是()。
在开发一个C++程序的整个过程中,第3个步骤为()。
结构化程序设计中,下面对goto语句使用描述正确的是()。
随机试题
下列各项中,不属于所有者权益内容的是
人民群众是一个历史的范畴,其主体是【】
下列关于肝癌的肿瘤标记物,错误的是
某化工厂工人,在一次事故中出现恶心、呕吐、震颤等急诊入院。体查:皮肤粘膜呈樱桃红色,呼出气有苦杏仁味,疑为急性职业中毒。最可能是
融资租赁按其业务内容的不同特点,可分为()。
承包人向发包人递交竣工结算报告及完整的结算资料是在发包人认可工程竣工验收报告后()内。
教师良心作为教师道德的重要范畴,具有()。
甲深夜下班回家经过一条小巷时遭遇歹徒持刀抢劫,甲趁歹徒不注意捡起地上的砖头砸中歹徒头部,导致歹徒当场死亡。甲的行为属于()。
新文化运动的主要内容是:
Access允许用户______数据表中的一列或多列,这样无论在表中滚动到何处,这些列都会成为最左侧的列。
最新回复
(
0
)