首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: 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
26
问题
有如下类定义:
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/Ymfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个源程序文件main.cpp,其中有“房间”类Room及其派生出的“办公室”类Office的定义,还有主函数main的定义。请在程序中“//****found****”下的横线处填写适当的代码并删除
请打开考生文件夹下的解决方案文件proj2,此工程包含有一个源程序文件proj2.cpp。其中定义了Base1类、Base2类和Derived类。Base1是一个抽象类,其类体中声明了纯虚函数Show。Base2类的构造函数负责动态分配一个字符数组,并将
下面对静态数据成员的描述中,正确的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下:Constructor.Defaultconstructor.Areais12
下列选项中,不是C++关键字的是()。
在数据流图中,带有箭头的线段表示的是()。
下列关于二叉树的叙述中,正确的是()。
数据库应用系统中的核心问题是( )。
在E-R图中,用来表示实体联系的图形是( )。
在数据库系统的内部结构体系中,索引属于()。
随机试题
论述合资企业的特征及股权形态。
在下列题中求各微分方程的通解或特解y"-2y’+y=0
下列证据既是传来证据也是直接证据的是()。
()就是要估算出一个地区对某种产品的潜在需求数量。
炉窑砌筑工程工序交接时,应提交锚固件和托砖板的有关资料,资料中应包括锚固件和托砖板的()。
桥梁拆除施工中,进行基础或局部块体拆除时,宜采用()的方法。
以下有关注册会计师专业胜任能力和应有的关注的陈述中,不恰当的是()。
霍布森选择是()。
技术与天才哪个对科学发展更重要——1994年英译汉及详解Accordingtothenewschoolofscientists,technologyisanoverlookedforceinexpandingthehori
有以下程序 #include<stdio.h> main() {char*s="01234"; while(*(++s)!=’\0’) {switch(*s-’0’) {case0: case1:putchar(*s+1);
最新回复
(
0
)