首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: 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
17
问题
有如下类定义:
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://jikaoti.com/ti/j5l0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类声明:classWhy{intn;public:doubled;protected:longl;floatf;
若有函数原型声明为"voidfun(int*x,int&y,intz=3);",下列叙述中,错误的是
对于一个类定义,编译器可能会自动生成的函数不包括
设有定义intx;floaty;,则10+x+y值的数据类型是()。
下列情况中,不会调用复制构造函数的是
下列关于函数模板的表述中,正确的是
数据库中对概念模式内容进行说明的语言是
下列关于继承方式的表述中,错误的是
若要在Number类的声明中将减法运算符重载为成员函数,下列重载函数声明中正确的是
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。
随机试题
A.视上核和室旁核B.下丘脑外侧区C.下丘脑腹内侧区D.下丘脑近中线两旁的腹内侧区饱中枢位于
慢性阻塞性肺疾病(COPD)的标志性症状为
施工文件档案的内容主要包括()。
设立证券登记结算机构,自有资金应不少于人民币1亿元。()
如果股票价格的变动与历史股价相关,资本市场()。
Amanwasdrivingontheroad.Suddenlyhiscarsstopped.Hegotoutofthecartriedtofindoutthetrouble."It’sthemotor.
目前我国义务教育的实施分为初等教育(小学)和初级中学教育(初中)两个阶段,其学制主要采取()。
1930年1月,毛泽东在《星星之火,可以燎原》一文中写道:“我所说的中国革命高潮快要到来,决不是如有些人所谓‘有到来之可能’那样完全没有行动意义的、可望而不可即的一种空的东西。它是站在海岸遥望海中已经看得见桅杆尖头了的一只航船,它是立于高山之巅远看东方已见
已知二次型f(x1,x2,x3)=x12+x22+x32+2ax1x2+2bx2x3+2x1x3经正交变换化为标准形f(x1,x2,x3)=y22+2y32,则a,b取值为________.
Intit-for-tatexpulsions,IndiaandPakistan______
最新回复
(
0
)