首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: 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-05-06
25
问题
有如下类定义:
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/4Gfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若PAT是一个类,则程序运行时,语句“PAT{*ad)[3;”调用PAT的构造函数的次数是()。
有如下程序:#includeusingnamespacestd;classTV{public:TV(intS=41):size(S){}voidPrint(){cout
定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为()。
if语句的语法格式可描述为:格式1:if(<条件>)<语句>或格式2:if(<条件>)<语句1>else<语句2>关于上面的语法格式,下列表述中错误的是()。
有如下程序:usingnamespacestd;classBoat;classCar{public:Car(inti):weight(i){}friendintTotal(constCar&c,constBoat&b);//
若有定义语句“inti=2,j=3;”,则表达式i/j的结果是()。
C++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。
要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是()。
关于在调用模板函数时模板实参的使用,下列表述中正确的是()。
下列有关继承和派生的叙述中,正确的是()。
随机试题
strategicobjective
生理状态下,下列哪些激素可促进蛋白质合成()(2005年)
以下关于反转录酶的叙述中错误的是
会计人员职业道德规范的主要内容包括( )。
第三者责任险负责赔偿保险车辆因意外事故,致使第三者遭受人身伤亡或财产的直接损失。所谓第三者是指被保险人及其财产和保险车辆上所有人员与财产以外的他人、他物。所谓“所有人员”指车上的驾驶员和所有乘坐人员。但这些人下车后除驾驶员外,均可视为第三者。根据以上定义,
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
弗洛伊德将人格结构分为三个成分,原始的、本能的,且在人格中最难接近又是强有力的部分是()
在intb[][3]={{1},{3,2};{4,5,6},{0}};中b[2][2]的值是()。
German
A、HequarreledwithElizabethrecently.B、HeheardElizabethdidpoorlyonthelasttestC、Hedoesn’twanttobotherElizabeths
最新回复
(
0
)