首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: 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-02-22
21
问题
有如下类定义:
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/pgh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请打开考生文件夹下的解决方案文件proj1,此工程包含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:(4,4)注意:只修改注释“//ERROR
当需要将一个函数boolisnumber(charc)声明为内联函数时,则此内联函数的函数原型为()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,使它能得出正确的结果。本程序要求屏幕输出:n=99注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。1
下列有关类继承的叙述中,错误的是()。
下面不能作为结构化方法软件需求分析工具的是()。
下列选项中不属于结构化程序设计原则的是()。
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的()。
某二叉树中共有935个结点,其中叶子结点有435个,则该二叉树中度为2的结点个数为
学院的每名教师只能属于一个系,则实体系和实体教师间的联系是
随机试题
下列可以导致患病率升高的因素有【】
结核性腹膜炎引起腹泻的原因
积聚的病因为
维系蛋白质α-螺旋和β-折叠结构稳定的化学键是
除另有规定外,用搓丸法制备大、小蜜丸时,炼蜜应当何时入药粉中(不含有树脂、胶类以及具有挥发性的药物)
新修订的《律师法》对特许律师执业制度作了进一步限制,下列关于此限制说法正确的有:
对银行、保险公司、证券公司等金融企业进行评估时,一般优先选择()。
信号传递理论认为,在信息对称的情况下,公司可以通过股利政策向市场传递有关公司未来获利能力的信息,从而会影响公司的股价。()
(1)受到奖励(2)改进工艺(3)传授他人(4)获得好评(5)节省原料
Archaeologistshavelongthoughtthatstoneshipsservedasgravesforoneorseveralindividuals,andhaveevenbeenviewedas
最新回复
(
0
)