首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: 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
2021-09-05
41
问题
有如下类定义:
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/S4fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout.fill(’*’);cout<<
下列关于线性链表的叙述中,正确的是
有如下程序:#includeusingnamespacestd;classCl{public:~4210{cout
下列运算符函数中肯定不属于类FunNumber的成员函数的是()。
有如下头文件:intfl();staticintf2();c1assMA{public:intf3();staticintf4();};在所描述的函数中,具有隐含
对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是()。
使用输入输出操作符setw,可以控制()。
下面是重载为非成员函数的运算符函数原型,其中错误的是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Employee类和Manager类。Em-ployee用于表示某公司的雇员,其属性包括姓名(name)和工作部分(dept)。Manager是Employee的公有派生类
随机试题
《素问·脉要精微论》说:“夏至四十五日,阴气微上,阳气微下”,说明了
补气升阳的方剂是
依据《安全生产法》的规定,负有安全生产监督管理职责的部门对有根据认为不符合保障安全生产的国家标准或者行业标准的设施、设备、器材,应当()。
在我国,通用会计核算软件中采用的()的名称、编码方法,必须符合国家统一会计制度的规定。
对经营租入的固定资产应在()中进行登记。
下列选项中,不属于商业银行经营原则的是()。
当事人对仲裁协议的效力有异议,一方请求仲裁委员会作出决定,另一方请求人民法院作出裁定的,由仲裁委员会决定。()
关于全国人民代表大会常务委员会的法律解释的权限范围下面理解正确的是()。
Youmust______therubbishbeforeyouleavetheoffice.
Ihaveafriendwhoputhercareeronholdaftershegotmarriedandhadchildren.Shestayedathomeuntiltheoldestwasfour
最新回复
(
0
)