首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: A(){cout
有如下程序: #include using namespace std; class A { public: A(){cout
admin
2019-04-18
66
问题
有如下程序:
#include
using namespace std;
class A
{
public:
A(){cout<<“A”;)
~A(){cout<<“~A”;)
};
class B:public A
{A*p;
public:
B(){cout<<"B";p=new A;}
~B(){cout<
};
int main()
{B obj;
return 0;
}
执行这个程序的输出结果是( )。
选项
A、BAA~A~B~A
B、ABA~B~A~A
C、BAA~B~A~A
D、ABA~A~B~A
答案
B
解析
此题考查的是类的构造函数和析构函数。派生类构造函数的执行顺序为:首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。因此本题中,首先调用基类构造函数输出A,然后调用子对象的构造函数输出B,p=new A再调用类A的构造函数输出A;析构函数的调用顺序和构造函数的调用顺序相反。
转载请注明原文地址:https://kaotiyun.com/show/epAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于运算符重载的描述中,正确的是()。
执行下面语句后,输出字符"#"的个数是()。for(inti=50;i;--i)cout<<’#’;
()使一个函数可以定义成对许多不同数据类型完成同一个任务。
下面的函数利用递归实现了求1+2+3+…+n的功能:intsum(intn){if(n==0)return0;elsereturnn+saln(n-1);}在执行SUm(10)的过程中,递归调用s
有如下程序段:for(inti=i;i<=50;i++){if(i%31=0)continue;elseif(i%51=0)continue;cout<<i<<",";这个程序的输出结果是_____
有如下类定义,请将Sample类的复制构造函数补充完整。classSample{public:Sample(){}~Sample(){if(P)deleteP;)Sample(constSamp
对于一个类定义,下列叙述中错误的是()。
下面关于运算符重载中正确的是()
重载的流运算符函数应该被定义为类的______函数。
随机试题
时间艺术:______、_______。
右心衰竭引起淤血的器官主要是
病案整理过程包括资料的装订,病案装订的方式是
1989年,某国家儿童中发生了艾滋病病毒感染的暴发流行,经调查,可能的原因是
清热利湿而利胆退黄,为治湿热黄疸之要药的中药是
一平面简谐波的波动方程为y=0.1cos(3πt—πx+π)(SI),t=0时的波形曲线如图所示,则下列叙述中哪个正确?
某施工企业2015年度利润表中营业利润为1000万元,营业外收入200万元,营业外支出100万元,适用所得税率25%,则当期所得税为()。
绩效的卓越标准是指企业未做要求和期望,其作用是()。
下列关于投资性房地产转换的会计处理,表述正确的是()。
在学生表中共有100条记录,执行如下命令,执行结果将是INDEXON-总分TOZFSETINDEXTOZFGOTOPDISPLAY
最新回复
(
0
)