首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: A(){cout
有如下程序: #include using namespace std; class A { public: A(){cout
admin
2020-07-23
29
问题
有如下程序:
#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://jikaoti.com/ti/aHl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中,错误的是
有如下类定义:classTest{public:Test(){a=0;c=0;} //①intf(inta)const{this->a=a;} //②staticint
有如下程序:#includeusingnamespacestd;classA{public:staticinta;voidinit(){a=1;}A(inta=2){init();a++
数据库管理系统是( )。
下列有关类成员的叙述中,错误的是
设c1和c2是类MyClass的对象,若将运算符"+"和"*"作为类MyClass的成员函数重载,则表达式c1+c2*c1等价于
下列选项中,正确的C++表达式是
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出()。
有如下类定义:ciassA{char*a;public:A():a(0){}A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间a=_____;strcpy(a,aa);
随机试题
评价细分市场,可以从()方面考虑。
Longagotherewasabusymarketplaceinatown.Peoplecametobuyand【C1】______allsortsofthingsthere.Onedayanold
应用胰岛素治疗糖尿病不恰当的方法是
下列属于招标公告内容的选项是( )。
下列关于人防工程中柴油发电机房设置正确的是()。
公安工作离不开人民群众的监督,原因是()。
AsmillionsofAmericanjobsdisappearedoverthepastfewmonths,insomecasesforever,therewasone【C1】________forthenewly
某网络工程计划图如图3.8所示,边上的标记为任务编码及其需要的完成时间(天),则整个工程的工期为()。
在关联规则挖掘中,关联规则的成立与否一般用【15】度和置信度两个指标进行描述。
如果要在窗体上使用2组单选按钮,每组都可以有一个被选中,则应该做的是
最新回复
(
0
)