首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
2021-02-22
21
问题
有如下程序
#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://jikaoti.com/ti/0gh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的执行结果为()。#includeclassSample{intn:public:Sample(inti){n=i;)operator++(){n++;}//
下面叙述错误的是()。
下列方法中,不属于软件调试方法的是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成默认构造函数TestClass的定义,使得TestClass对象的类型为int,默认值为a=0,b=0,c=0,请在
下列关于二叉树的叙述中,正确的是()。
下列选项中不符合良好程序设计风格的是()。
在下列选项中,不允许作为C++标识符的是
下列选项中,不是C++关键字的是
将E-R图转换为关系模式时,实体和联系都可以表示为()。
下列字符串中不能作为C++标识符使用的是()。
随机试题
劳动者解除劳动合同,应当提前()形式通知用人单位。
下列各项中,需用砭镰法治疗的是()
A.淋巴道播散B.支气管播散C.血行播散D.血行播散和淋巴道播散E.淋巴道和支气管播散继发性肺结核的常见播散方式
下列哪项不是涉台民事诉讼文书送达的方式?()
()的目的在于将损失控制在投资者可接受的范围内。
股票和( )是证券市场上的两大主要金融工具。
因为安全边际是正常销售额超过盈亏临界点销售额的差额,并表明销售额下降多少企业仍不亏损,所以安全边际部分的销售额也就是企业的利润。()
What’syourearliestchildhoodmemory?Canyourememberlearningtowalk?Ortalk?Thefirsttimeyou【C1】______thunderorwatche
PowerDesigner所包含模块中,用于数据库设计和构造的模块是
Themanagerhasanticipatedthesituationthatwe______acertainamountofresistancetoourplan.
最新回复
(
0
)