首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; classA { public: A(){cout
有如下程序: #include using namespace std; classA { public: A(){cout
admin
2020-11-11
48
问题
有如下程序:
#include
using namespace std;
classA
{
public:
A(){cout<<"A";}
~A(){cout<<"—A";}
};
class B:public A
{
A
*
p;
public:
B(){cout<<"B";P=ncw 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
解析
此题考查的是派生类对象的构造与析构。建立派生类对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被定义时声明的顺序(自左向右)->执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序.>执行派生类的构造函数。所以本题在建立派生类B的对象0bj是会先调用基类A的构造函数,然后调用自身的构造函数。注意:B类中定义的成员p是A类的指针而不是一个对象,故在调用自身构造函数前不需要构造。而在B类构造函数中使用new操作符动态地构造了一个A类的对象,所以整个构造结果是输出:ABA。
派生类对象的析构与构造严格相反,即先析构自身,然后析构自身所包含的成员对象,最后调用基类的析构函数。故本题中当main()函数返回时,析构B类的对象obj:首先调用~B(),接着再调用~A()因为在~B()函数中释放了动态创建的A类对象,故整个析构所输出的结果是~B~A~A。所以这个程序输出结果为ABA~B~A~A。
转载请注明原文地址:https://www.kaotiyun.com/show/fiyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classPair{intm,n;public:Pair(intj,intk):m(j),n(k){
下列叙述中正确的是()。
下列关于类定义的说法中,正确的是()。
面向对象方法中,继承是指()。
已知类XX中声明了如下的公有虚函数:virtualvoidf()const;XX的派生类YY重定义了这个虚函数,XX和YY都有默认的构造函数,且有如下定义:YYYY:XXxx,*px=&xx,&rx=Yyy,*pp=&yy;则下列对函数f的
建立表示学生选修课程活动的实体联系模型,其中的两个实体分别是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。程序输出
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成类TestClassl的成员函数seta定义,定义seta对象x为int类型,请在注释∥********1***
下列有关模板的叙述中,正确的是
数据库设计过程不包括
随机试题
嘘をついてごまかそうとしても、妻には何でも________のようだ。最初から正直に謝っていたら、怒られなかったのかな。
患者,男,48岁。既往有高血压病史22年。近5天来受凉后出现低热,2小时前突感胸部持续性疼痛,呈刀割样,服用“救心丸”后不缓解,入院检查:血压(左上肢)110/70mmHg、(右上肢)180/110mmHg,双肺(一),心界不大,心尖部3/5级收缩期吹
下列情况中当事人取得票据权利的是()。
在接受委托后,下列关于前后任注册会计师沟通的说法中不正确的是()。
从某合金钢中含碳量x与某性能指标y的10组数据,得如表2.2—2所示结果。[2007年真题]x与y的相关系数为()。
具体行政行为的效力不包括()。
甲委托乙销售一批首饰并交付。乙以自己名义与丙签订买卖合同,并约定额外赠送丙一批服装。乙因此与丁签订服装买卖合同。乙依约向丙交付首饰,但因丁不能向乙交付服装导致乙无法向丙交付服装。丙以此为由拒绝向乙支付首饰款。下列选项中正确的是()
Horsesareusedinguardingherbs,carryingmeninlandswheretherearenoroads,andhelpingfarmersworktheirland.Pigeons
NationalSpellingBeeEveryyear,thebestyoung【T1】______fromaroundtheworld【T2】______inWashington,D.C.fortheNatio
Geothermal(地热的)energyhasbeenusedforthousandsofyearsinsomecountriesforcookingandheating.Itissimplypowerderived
最新回复
(
0
)