首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";} };
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";} };
admin
2013-05-30
30
问题
有如下程序: #include<iostream> 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<<"~B";delete p;} }; 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/71Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于构造函数的描述,错误的是()。
有如下函数模板定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中,错误的是______。
下面关于类的静态成员,说法正确的是______。
下列关于算法的叙述,错误的是()。
下列叙述中错误的是()。
将E-R图转换到关系模式时,实体与联系都可以表示成()。
友元运算符obj1>obj2被C++编译器解释为()。
利用继承能够实现【】。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。
磁盘文件操作中,打开文件的访问方式常量中,以追加方式打开文件的是()。
在函数中,可以用auto、extem、register和static四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
随机试题
静脉输液的目的不包括
施工现场应当设置各类必要的职工生活设施,并符合()等方面的要求。
必须采用工程量清单计价的建设工程有()。
从证券业务的要素来看,客户是证券经纪业务的服务对象。()
在试制阶段对供应商提供的样件质量控制一般实行________。
根据以下资料。回答96~100题。2005年与2004年相比,该市的国外游客总人次比2004年增加了()。
不适宜做心理咨询对象的个体的特征之一是()
软件工程学的提出起源于软件危机,而其目的应该是最终解决软件的______问题。
公元1900年,一群采集海绵的希腊人,在安梯基齐拉(Antikythera)附近的海底,发现一艘满载大理石雕像的沉船。这些艺术品被打捞起来。研究发现这条船大约是两千年以前沉没的。将全部东西一一检查后,找到了一堆重要的东西,其重要性超过全部复活岛上雕像的总和
A、 B、 C、 B
最新回复
(
0
)