首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: 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-05-14
29
问题
有如下类定义:
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://www.kaotiyun.com/show/wv8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
根据下面的程序,可以在主程序中使用的合法语句是( )。 #include <iostream> using namespace std; class Person{ int age; public:
类的析构函数的作用是( )。
重载赋值操作符时,应声明为()。函数。
在数据库管理系统提供的数据功能中,负责数据的完整性、安全性的定义功能的是()。
关于关键字class和typename,下列表述正确的是
在面向对象方法中,属性与操作相似的一组对象称为【】。
对定义重载函数的下列要求中,()是错误的。
在派生类中,对类对象成员,基类成员和非类对象成员的初始化程序是【 】。
常用的黑箱测试有等价分类法、______、因果图法和错误推测法4种。
随机试题
附子和干姜共同功效()。
某娱乐中心发生火灾事故,事故当时造成5人死亡,25人重伤。则此起事故火灾等级应为()。
下列关于收入与分配管理的意义的说法中,错误的是()。
客户A公司向你所在代理机构提供了自行撰写的申请材料(包括说明书1份、权利要求书1份)、以及检索到的2篇对比文件。现委托你所在的代理机构为其提供咨询意见并具体办理专利申请事务。附件1(客户自行撰写的说明书):背景技术图1示出了现有起钉锤的立体图
教育目标达成的最佳控制必须依赖于反馈策略。()
应对广大社会成员进行治安形势和违法犯罪发展趋势的教育,提高其()。
在DNA的双螺旋模型中
Ifsustainablecompetitiveadvantagedependsonworkforceskills,Americanfirmshaveaproblem.Human-resourcemanagementisno
在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
Publicgoodsarethosecommoditiesfromwhoseenjoymentnobodycanbe(41)excluded.Everybodyisfreeto(42)thebenefits
最新回复
(
0
)