首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: A(){cout
有如下程序: #include using namespace std; class A { public: A(){cout
admin
2020-07-23
65
问题
有如下程序:
#include
using namespace std;
class A
{
public:
A(){cout<<"A";)
一A(){tout<<"~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://www.kaotiyun.com/show/x9yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列情况中,不会调用复制构造函数的是
下列叙述中正确的是
有如下程序:#includeusingnamespacestd;intmain(){int*p;*p=9;cout
必须用一对大括号括起来的程序段是()。
有如下程序:#includeusingnamespacestd;voidf1(int&x,int&y){intz=x+y;x=y;y=z;}voidf2(intx,i
下列关于运算符函数的表述中,错误的是
有如下程序:#includeusingnamespacestd;intmain(){intf,f1=1,f2=1;for(inti=0;i
有如下两个类定义:classAA{};classBB{AAv1,*v2;BBv3,*v4;};其中定义错误的成员变量是
设c1和c2是类MyClass的对象,若将后缀运算符“++”作为类MyClass的友元函数重载,运算符“,作为类MyClass的成员函数重载,则表达式e2*c1++等价于()。
随机试题
原发性高血压的主要病理生理是
当病人出现呕血时,提示胃内潴留血量至少达到
下列各项中,适合建立标准成本中心的单位或部门有()。
角色过载冲突是指一个人的角色要求太多,工作量太大,不可能完成所有觉得所要求的工作时所面临的冲突。根据上述定义,下列属于角色过载冲突的是?
2012年,某省规模以上工业增加值10875亿元,比上年增长7.1%,月度增速从1一2月的2.9%回升到10—12月的10%以上。大型、中型和小微型企业增加值分别为3074、3217和4584亿元,比上年分别增长8.2%、6.8%和6.7%。20
TheGreatTransformationiscausedbyWhyisitimpossibleforpeopletobuildaremarkablenewcivilizationtoday?
以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是
Howmanyplanetsarethereinthesolarsystemrevolvingaroundthesun?
YouaretheSalesManagerofacompany.Withthesalesseasondrawingnear,youintendtoarrangeameetingwithyourteam.
When,IfEver,CanMuseumsSellTheirWorks?Thedirectoroftheart-richyetcash-poorNationalAcademyMuseuminNewYork
最新回复
(
0
)