首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类声明: class Base1{ }; class Base2{ }; class Derived: public Base2,public Base1{ }; 在一个 Derived 对象消亡时,析构函数被调用的顺序
有如下类声明: class Base1{ }; class Base2{ }; class Derived: public Base2,public Base1{ }; 在一个 Derived 对象消亡时,析构函数被调用的顺序
admin
2019-07-10
58
问题
有如下类声明:
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/WW8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;
一个类的友元函数能够访问该类的
派生类构造函数的执行顺序是先执行【】的构造函数,然后执行成员对象的构造函数,最后执行【】的构造函数。
有如下函数模板定义: template<typename T1,int a2,int a3> T1 fun(T1 a1) { return(a1+a2+a3); } 则以下调用中正确的是( )。
表示C++类中保护成员的关键字是( )。
单个用户使用的数据视图的描述称为()。
不能重载的运算符是( )。
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10}:则下列叙述中错误的是()。
关于在调用模板函数时模板实参的使用,下列表述正确的是()。
如下程序声明了一个二维图形类TwoDShape,从其派生出矩形类Rec。#include<iostream>#include<string>usingnamespaeestd,classTwoDShape{//二维图
随机试题
他特意到那里去,看看发生了什么事。
既能行气除满,又可平喘的药物是
专业监理工程师是由总监理工程师任命,组织并带领一般监理人员对设备工程直接监理的人员。专业监理工程师应当具备()条件。
1.背景材料:某施工单位承包了高速公路M合同段路基工程,合同工期2年,每年5~8月为雨期。本合同段有填有挖,且需以挖做填,项目部充分考虑雨期对施工的影响,对选择施工的项目进行详细考察,编制雨期施工专项方案,项目物资部门针对雨期施工方案,在雨期施工
根据《企业破产法》的规定,下列选项中,属于全面接管具体职责的是()。
某公司于2009年1月1日购入一项专利权。初始入账价值为900万元。该专利权预计使用年限为12年,法律保护年限是10年,采用直线法摊销。该专利权在2009年12月31日预计可收回金额为783万元,2010年12月31日预计可收回金额为698万元。假定该公司
玩忽职守罪的主观方面只能是()。
Duringthesystemsanalysisphase,greateruserinvolvementusuallyresultsinbettercommunication,fasterdevelopmenttimes,and
下列安全协议中,位于网络层的是(1),位于应用层的是(2)。(2)
堆排序最坏情况下的时间复杂度为
最新回复
(
0
)