首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类声明: class Base1{ }; class Base2{ }; class Derived: public Base2,public Base1{ }; 在一个 Derived 对象消亡时,析构函数被调用的顺序
有如下类声明: class Base1{ }; class Base2{ }; class Derived: public Base2,public Base1{ }; 在一个 Derived 对象消亡时,析构函数被调用的顺序
admin
2021-05-06
40
问题
有如下类声明:
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/jWfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列代码段中声明了3个类:classPerson}};classStudent:publicPerson{};classUndergraduate:Student{};下列关于这些类之闻关系的描述中,错误的是
有如下类声明:classSAMPLE{intn;public:SAMPLE(inti=0):n(i){}voidsetValue(intn0);};下列关于getVa
静态数据成员在()进行初始化。
下列程序执行后,屏幕的输出是()。#includeusingnamespacestd;voidswap(intx,intY){Inttemp=x;x=y;
有如下程序:#includeusingnamespacestd;classAppliance{public:Appliance(){cout
若有以下程序:#includeusingnamespacestd;intfun(){staticinti=0;ints=1;s+=i:i++;Feturn
若MyClass为一个类,执行“MyClassa[4],*p[5];”语句时会自动调用该类构造函数的次数是()。
下列关于模板的叙述中,错误的是()。
下列选项中,不属于数据库管理的是()。
从工程管理角度看,软件设计一般分为两步完成,它们是()。
随机试题
台式卧式铣镗床的分进给方式用在何处?
简述艺术创作主体与客体的关系。
属于消化腺的是
鱼际
低精蛋白锌胰岛素是
甲公司为乙上市公司实际控制人,拟通过收购丙上市公司(以下简称“丙公司”)的股份,达到控制丙公司的目的。在董事会讨论收购方案时,一些董事分别提出以下观点:(1)以下属的两个子公司作为收购人,通过证券交易所的证券交易收购丙公司的股份。两个子公司持有丙公
第二次鸦片战争中,“既是帮凶,又是单独作案凶犯”的国家是()。
语句PrintSgn(-6^2)+Abs(-6^2)+Int(-6^2)的输出结果是()。
小金从网站上查到了最近一次全国人口普查的数据表格,他准备将这份表格中的数据引用到Excel中以便进一步分析,最优的操作方法是
规范化主要为克服数据库逻辑结构中的插入异常,删除异常以及
最新回复
(
0
)