首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类声明: class Base1{ }; class Base2{ }; class Derived: public Base2,public Base1{ }; 在一个 Derived 对象消亡时,析构函数被调用的顺序
有如下类声明: class Base1{ }; class Base2{ }; class Derived: public Base2,public Base1{ }; 在一个 Derived 对象消亡时,析构函数被调用的顺序
admin
2020-07-23
46
问题
有如下类声明:
class Base1{ };
class Base2{ };
class Derived: public Base2,public Base1{ };
在一个 Derived 对象消亡时,析构函数被调用的顺序是
选项
A、~Derived、~Base1、~Base2
B、~Derived、~Base1、~Base2
C、~Base1、~Base2、~Derived
D、~Base2、~Base1、~Derived
答案
A
解析
C++中,派生类构造函数都是先调用基类构造函数,再根据声明次序定义数据成员,另外对于多继承,派生类的构造函数初始化列表中,基类构造函数是按照基类在派生类的派生列表中出现的次序调用的;而析构函数是按构造函数运行顺序的逆序进行调用的,可知题目中析构函数的调用顺序为:派生类Derived的析构函数,Base1的析构函数,Base2的析构函数;答案为A。
转载请注明原文地址:https://kaotiyun.com/show/GFyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
必须用一对大括号括起来的程序段是()。
有如下类定义:classFoo{public:Foo(intv):value(v){} //①~Foo(){} //②private:Foo(){}
以下关键字不能用来声明类的访问权限的是()。
已知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是()。
下列关于运算符函数的描述中,错误的是()。
下面不能作为软件设计工具的是
下列关于赋值运算符=重载的叙述中,正确的是
下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是()。
执行语句序列()。inti=0;while(i<25)i+=3;cout<<i;输出结果是
随机试题
阅读下列说明,回答问题,将解答填入答题纸的对应栏内。【说明】某软件开发项目包括A、B、c、D四个活动,项目总预算为52000元。截至6月30日,各活动相关信息如下表所示。c活动是项目中的一项关键任务,目前刚刚开始,项目经理希望该任务能在24天之内完
肾性贫血最主要原因是下列哪项
根据《建设项目环境影响评价行为准则与廉政规定》,承担建设项目竣工环境保护验收监测或调查工作的单位及其人员应当()。
李某在一次有奖购物抽奖中,购买了1000元商品,中奖一台价值3000元的电视机。李某应缴纳个人所得税税额为()元。
简述体育课课堂常规。
中国知识分子看到改造中国的新路径,提出“到民间去”的号召,并开始深入到工人中间进行启蒙宣传。是在:
A.葡萄糖B.Na+C.K+D.球蛋白E.白蛋白血浆胶体渗透压主要来自
提高Catalyst6500发生间接链路失效的收敛速度,正确配置STP可选功能的命令是()。
【B1】【B18】
A、Forcompanionship.B、Foramusement.C、Forprotectionagainstrobbery.D、Forhunting.A短文提到,“如今,城里人养狗最重要的原因是做伴”,故A正确。
最新回复
(
0
)