首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";} };
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";} };
admin
2013-05-30
55
问题
有如下程序: #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
解析
此题考查的是类的构造函数和析构函数.派生类构造函数的执行顺序;首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容.因此本题中,首先调用基类构造函数输出A,然后调用子对象的构造函数输出B, p=new A再调用类A的构造函数输出A;析构函数的调用顺序和构造函数的调用顺序相反。
转载请注明原文地址:https://kaotiyun.com/show/71Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在软件测试设计中,软件测试的目的是()。
下面关于构造函数和析构函数的描述中,错误的是()。
已有函数max(a,b),为了使函数指针变量p指向函数max,则下面选项中赋值方法正确的是()。
求1~100的和,可写成for(s=0,i=1;【】;i++)s+=i;的形式。
在C++语言中,整数可用3种数制表示,它们分别为:十进制、八进制和【】。
对于顺序存储的队列,存储空间大小为n,头指针为P,尾指针为R。若在逻辑上看成一个环,则队列中元素的个数为【】。
带有虚基类的多层次派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样对虚基类的子对象初始化()。
可行性研究要进行一次()需求分析。
软件工程的出现是由于()。
在函数中,可以用auto、extem、register和static四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
随机试题
治安政策评估指标体系根据上述指标,谈谈该指标体系的作用。
简述创造性思维的特征。
下列选项中,属于风淫证表现的是()。
空气中有害物质的存在状态不一样,有的以气体或蒸气逸散于空气中;有的以液体或固体颗粒分散于空气中;一氧化碳的状态是
根据票据法律制度的规定,下列情形中,汇票不得背书转让的有()。(2017年)
甲、乙、丙拟设A有限合伙企业(以下简称A企业),合伙协议约定;甲为普通合伙人,以实物作价出资3万元;乙、丙为有限合伙人。各以5万元现金出资,丙自企业成立之日起2年内缴纳出资;甲执行A企业事务,并由A企业每月支付报酬3000元;A企业定期接受审计,由甲和乙共
(2016·河北)“上行下效"“耳濡目染”是观察式学习的体现。()
下面关于“十二五”期末我国重大科技基础设施建设要实现的目标,表述有误的是()。
简述行纪合同与委托合同的主要区别。
对无符号二进制整数111111转换成十进制整数是
最新回复
(
0
)