首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2009-06-20
31
问题
有如下程序:
#include <iostream>
using namespace std;
class A {
public:
A() { cout << "A"; }
~A() {cout << "A"; }
};
class B {
A a;
public:
B() {cout << "B"; }
~B() { cout << "B"; }
};
int main() {
B b;
return 0;
}
程序的输出结果是【 】。
选项
答案
ABBA
解析
本题考查的知识点是:类的构造与析构。建立一个类的对象时,构造函数的执行顺序如下:
①执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
②执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下);(如果一行声明了多个对象,则还要遵循自左向右)
③执行自身的构造函数。
析构顺序与之相反。本题的B类没有基类,但有一个A类的成员a。所以构造B类对象时,先构造成员a再构造自身。因此,构造时输出的结果为AB,析构顺序严格与构造相反,故析构输出BA。所以程序最终输出结果是ABBA。
转载请注明原文地址:https://jikaoti.com/ti/jTW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下叙述中正确的是
有以下程序:#includemain(){intx=1,y;V=x<<2:printf(’’%d\n’’,y);}程序运行后的输出结果是()。
用于软件测试的实例主要包括哪些内容?()
有以下程序段:charstr[4][12]={"aaa","bbb","ccc","ddd"},*p[4];inti;for(i=0;i<4;i++)p[i]=str[i];以下选项中不能正确引用字符串的是()。
在数据库设计中,将E-R图转换成关系数据模型的过程属于()。
以下选项中,能用作用户标识符的是()。
下面属于黑盒测试方法的是()。
以下关于C语言数据类型使用的叙述中错误的是()。
下面不能作为结构化方法软件需求分析工具的是
若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是
随机试题
—Howdoyoulikeyournewjob?—Well,it’sgreat______salary,butitdoesnotoffermuchprospectsforpromotion.
在网络计划的工期优化过程中,为了有效地缩短工期,应选择( )的关键工作作为压缩对象。
优化设计可产生直接效益有()。
建筑生产中最基本的安全管理制度是( ),它是所有安全规章制度的核心。
()是进行会计核算和提供会计资料不可缺少的重要媒介,是会计资料的重要组成部分。
已提足折旧继续使用的固定资产不再提取折旧,未提足折旧提前报废的固定资产,应补提折旧。()
《中华人民共和国教师法》规定,为保障教师完成教育教学任务,各级人民政府、教育行政部门、有关部门、学校和其他教育机构应当履行()。
1,5,11,20,34,56,()
军事侦察侧重于侦察对象是什么、现在什么状态,是一种主动获取的方式。而军事监视侧重于将会发生什么,具有一定的预警功能,是一种相对被动的方式。根据上述定义,下列属于军事侦察行为的是:
A.apparentB.increasingC.influencedD.desirableE.speededupF.intoG.widenin
最新回复
(
0
)