首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include using namespace std; class AA{ char c; public: AA():c(’X’){ } AA(A
有如下程序 #include using namespace std; class AA{ char c; public: AA():c(’X’){ } AA(A
admin
2015-07-22
48
问题
有如下程序
#include
using namespace std;
class AA{
char c;
public:
AA():c(’X’){ }
AA(AA &aa):c(aa.c){ cout<<2; }
~AA(){ cout<<3; }
char value()const{ return c; }
};
void f1(AA a){ cout<
void f2(AA &a){ cout<
int main(){
AA m;
f1(m);
f2(m);
return 0;
}
运行这个程序的输出是
选项
A、2X3X3
B、2X3X3
C、X3X3
D、XX3
答案
A
解析
程序使用默认构造函数创建AA类对象m,使得m中数据成员c=’X’,然后调用f1函数,由于函数f1形参为AA类对象,需要创建局部对象a,并使用实参m初始化,所以需要调用复制构造函数,输出"2";再执行f1函数体,输出"X",f1函数执行完后,需要销毁局部对象a,调用AA的析构函数,输出"3";再调用f2函数,f2函数的形参为AA类引用,因而不需要调用构造函数,直接执行函数体输出"X",当然,由于没有创建局部对象,f2函数执行完之后也不需要销毁任何数据;最后main执行结束,需要销毁对象m,调用AA的析构函数,输出"3";整个程序输出结果为:"2X3X3",答案为A。
转载请注明原文地址:https://kaotiyun.com/show/LVNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是【 】。
在关系运算中,【】运算是对两个具有公共属性的关系所进行的运算。
下列叙述中正确的是
表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是
下列关于构造函数说法不正确的是
关于抽象类,下列表述正确的是()。
下列叙述中正确的是
下列选项中不属于软件生命周期开发阶段任务的是
在关系数据库中,用来表示实体之间联系的是【 】。
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为【】的。
随机试题
Today,wewillbegin________westoppedyesterdaysothatnopointwillbeleftout.
A、Hisclasswillstartinaminute.B、Hehasgotanincomingphonecall.C、Someoneisknockingathisdoor.D、Hisphoneisrunni
“意见”这一文种属于
马克思主义的革命性表现为它具有()
腹股沟斜疝与直疝主要鉴别点是
A、化瘀止痛B、化痰C、燥湿清热D、温阳化湿E、拔毒生肌内消瘰疬丸既能软坚散结,又能
下列符合施工组织总设计的编制程序的是()。
重音记号为_________,顿音为_________。
艾宾浩斯以自己为被试,采用机械重复记忆的方法,对遗忘规律进行定量研究,据此回答下列问题:
求
最新回复
(
0
)