首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类声明: class Base1{ }; class Base2{ }; class Derived: public Base2,public Base1{ }; 在一个 Derived 对象消亡时,析构函数被调用的顺序
有如下类声明: class Base1{ }; class Base2{ }; class Derived: public Base2,public Base1{ }; 在一个 Derived 对象消亡时,析构函数被调用的顺序
admin
2015-07-22
47
问题
有如下类声明:
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/HyNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;}
决定C++语言中函数的返回值类型的是
创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数。下列程序涉及到对象数组的创建和单个对象的创建,其输出结果是【】。#include<iostream>usingnamespac
下列有关C++流的叙述中,错误的是
有以下程序#include<iostream>usingnamespacestd;classMyClass{public:MyClass(intn){number=n;}
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
在算法正确的前提下,评价一个算法的两个标准是【】。
假定MyClass为一个类,则执行MyClassa,b(2),*p;语句时,自动调用该类构造函数()次。
随机试题
啤酒中的酒精度测定常采用酒精计法测定。
下列属于消火栓箱组成部分的有()。
在相关群体中,人们由于共同的兴趣、爱好和看法而自发地相聚到一起,相互交往形成的群体是()
马克思主义产生于
有关糖尿病性白内障的叙述错误的是
患者男性,32岁,诉心悸及颈部明显搏动感,查血压142/45mmHg,X线示左心室扩大、主动脉弓突出并有明显搏动。最可能的诊断为
帕金森病患者的典型震颤是
按照公司法的规定,发行债券的企业最近三年平均可分配利润足以支付公司债券()。
一个工人锯一根22米长的木料,因木料两头损坏,他先将木料两头各锯下1米,然后锯了4次,锯成同样长的短木条,每根短木条长多少米?()
Thefirstpermanentpicturewasmadebyusing
最新回复
(
0
)