首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2012-01-20
52
问题
有如下程序: #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/CDVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有如下三个关系表:下列操作中正确的是()。
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
下列关于线性链表的叙述中,正确的是()。
以下关于C语言数据类型的叙述中正确的是()。
以下选项中叙述正确的是()。
下列排序方法中,最坏情况下比较次数最少的是()。
在关系代数运算中,有5种基本运算,它们是()。
给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不
将E-R图转换为关系模式时,E-R图中的属性可以表示为
下列选项中不属于软件生命周期开发阶段任务的是()。
随机试题
下列叙述中正确的是
计算下列不定积分
混合支持式义齿受力后,牙台力由()
患者,女,68岁。慢性阻塞性肺疾病10年。因咳嗽、咳痰加重,伴发热、喘息3天入院,给予氨茶碱等治疗。应用氨茶碱治疗的目的是
下列指标中,反映居住区较好的是()。
行政处分的制裁权是各级行政机关的固有权力,行政处罚权来源于外部行政管理权。()
税务机关作出()的税务行政处罚决定前,应当告知纳税人有要求举行听证的权利。
资本预算主要以()为支出对象。
Howtogetoverthefirststeptowritealetter?
A、Bywritingapersonalcheck.B、Bychargingthemtotheirpersonalaccounts.C、Bypayingincash.D、Byusingastorecreditcar
最新回复
(
0
)