首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";} }; class B:public A { A*p; pu
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";} }; class B:public A { A*p; pu
admin
2020-04-07
43
问题
有如下程序:
#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"t;delete p;}
};
int main()
{
B obj;
return0:
}
执行这个程序的输出结果是( )。
选项
A、BAA~A~B~A
B、ABA~B~A~A
C、BAA~B~A~A
D、ABACA~B~A
答案
B
解析
此题考查的是类的构造函数和析构函数。派生类构造函数的执行顺序为:首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。因此本题中,首先调用基类构造函数输出A,然后调用子对象的构造函数输出B,p=new A再调用类A的构造函数输出A;析构函数的调用顺序和构造函数的调用顺序相反。
转载请注明原文地址:https://kaotiyun.com/show/e38p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
派生类的构造函数的成员初始化列表中,不能包含
下列程序的输出结果是#include<iostream.h>intmin(inta,intb){if(a<b)returna;elsereturnb;return0;
关于在调用模板函数时模板实参的使用,下列表述正确的是()。
关于函数重载,下列叙述中错误的是()。
程序设计语言的基本成分是数据成分、运算成分、控制成分和
以下程序的输出结果______。#include<iostream.h>voidmain(){inta=0a+=(a=8);cout<<a;
在MyClass类的定义中,对赋值运算符:进行重载。请将画线处缺失的部分补充完整。【】MyClass::operator=(constMyClass&rhs){if(this==&rhs)return*this
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
随机试题
以下事项中,会导致公司加权平均资本成本提高的有()。
异烟肼抗结核杆菌的机制是
患儿3个月,其母主述患儿夜惊、多汗,枕部毛发稀少。初步诊断为()
关于工作研究的陈述,错误的是()。
根据规定,单独或者合计持有公司全部股东表决权10%以上的股东,有一定事由时,公司继续存续会使股东利益受到损失,通过其他途径不能解决,提起解散公司诉讼,人民法院应予以受理。该事由包括()。
①而解决这一弊端的税制改革、户籍制度改革、公共服务均等化,均离不开公民权利的释放②这种畸形税制结构带有“累退性质",收入越低,实际税负比例越大③根据财新杂志媒体的报道,城镇居民家庭中,低收入组的税费负担率为10.3%,高收入组的税费负担率仅为8
与债务筹资相比,普通股筹资的特点有()。
下列关于运算符重载的描述中,正确的是
Whentelevisionisgood,nothing—notthetheatre,notthemagazines,ornewspapers—nothingisbetter.Butwhentelevisionisbad
WhatistheadvantageofthenewtechnologybeingdevelopedbyNurEnergyCompany?
最新回复
(
0
)