首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A’;} ~A(){cout<<"~
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A’;} ~A(){cout<<"~
admin
2013-02-27
57
问题
有如下程序: #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
解析
本题考查的是派生类对象的构造与析构。建立派生类对象时,构造函数的执行顺序如下:
(1)执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
(2)执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下);
(3)执行派生类的构造函数。
所以本题在建立派生类B的对象。obj时会先调用基类A的构造,然后调用自身的构造。注意:B类中定义的成员p是A类的指针而不是一个对象,故在调用自身构造函数前不需要构造。而在B类构造函数中使用new操作符动态构造了一个A类的对象,所以整个构造结果是输出:ABA。派生类对象的析构与构造严格相反,即先析构自身,然后析构自身所包含的成员对象,最后调用基类的析构函数。故本题中,当main()函数返回时,析构B类的对象obj:首先会调用~B(),接着再调用~A()。但是,在~B()函数中使用delete操作符释放了动态创建的A类对象,故整个析构所输出的结果是:~B~A~A。所以应该选择B。
转载请注明原文地址:https://kaotiyun.com/show/W7Vp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序: #include<stdio.h> main() { FILE*f; f=fopen("filea.txt","w"); fprintf(f,"abc"); fclose(f); } 若文本文件filea.
设有定义:intx[2][3];,则以下选项中不能表示数组元素x[0][1]的是()。
设有如下类型说明语句 typedefstruct {intnum; struct{inty,m,d;}date; }PER; 则以下定义结构体数组并赋初值的语句中错误的是()。
假定已建立以下链表结构,且指针p和q已指向如图所示的节点。 则下列选项中可将q所指节点从链表中删除并释放该节点的语句组是()。
若有语句“typedefstructS{intg;charh;}T;”,则下列叙述中正确的是()。
给定程序BIANK1.C中主函数的功能:输入一个实数a,根据迭代公式x1=(x0+a/x0)/2.0,计算并输出其平方根。要求误差不超过1e-6(0.000001)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
定义部门的关系模式如下:部门(部门号,部门名,部门成员,部门总经理)使它不满足第一范式的属性是()。
C++语言中,编译过程后生成的文件类型为()。
类的成员函数中,只能用于检测输入操作的函数是【】。
已有函数max(a,b),为了使函数指针变量p指向函数max,则下面选项中赋值方法正确的是()。
随机试题
女性,35岁,急性阑尾炎穿孔、阑尾切除术后第5天,发热、腹痛,腹泻每天3次,稀水便,腹壁切口未见明显红肿。最可能的并发症是
A.胸骨中段B.胸骨上1/3段C.胸骨下1/3段D.胸骨上1/2段E.胸骨下1/2段胸外按压的部位
治疗霍乱首选抗菌药物为( )。
下列哪味药长于清肺火及上焦实热
有关对城市道路工程冬期施工的说法中,正确的是()。
下列经济指标中,构成财务现金流量的基本要素的有()。
甲公司系增值税一般纳税人,采用公允价值模式计量投资性房地产。有关资料如下:资料一:2×18年12月1日甲公司与A公司签订协议,将自用的办公楼出租给A公司,租期为3年,每年不含税租金为1000万元,于每年年末收取,2×19年1月1日为租赁期开始日,2×2
从所给四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性:
监狱工作人员甲多次指使被关押的罪犯殴打其他被监管人,造成被殴打的人伤残。甲的行为构成()
Personalityistoalargeextentinherent——A-typeparentsusuallybringaboutA-typeoff-spring.Buttheenvironmentmustalsoh
最新回复
(
0
)