首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类声明: 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
51
问题
有如下类声明:
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/4VNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?
如果类A被说明成类B的友元,则
下面程序错误的语句是①#include<iostream.h>②voidmain(0③{④int*p=newint[1];⑤p=9;⑥cout<<*p<<end1;
表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是
函数fun的返回值是fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!=’\0’)num++;while(b[n])
如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的【】函数。
语句ofstreamf("SALARY.DAT",ios::applios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()。
下面关于运算符重载的描述错误的是()。
设有下列二叉树:对此二叉树前序遍历的结果为
下列关于C++关键字的说法中正确的是
随机试题
突然、花子が太郎________なぐりかかった。
简述保证金存款的含义和内容。
心理过程包括
A.大网膜不易包裹,穿孔率高B.症状、体征与病理改变往往不一致C.阵发性绞痛,间歇期不痛,无局部体征D.麦氏点压痛位置高E.压痛可在任何部位妊娠中后期合并阑尾炎时
A.温中止痛B.散寒调经C.温肺化饮D.活血通络E.健脾和胃除了温经止血的功效外,艾叶还有的功效是
关于抢劫罪,下列哪一选项说法是错误的?
混凝土基础垫层支模板施工所需工作面宽度按照每边()mm计算。
以下几种游戏中,()属于创造性游戏。
研究内隐态度的特点,内隐联想测验依据的原理是(}
Doyoufindgettingupinthemorningsodifficultthatit’spainful?Thismightbecalledlaziness,butDr.Kleitmanhasanew【
最新回复
(
0
)