首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
43
问题
有如下程序
#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全国计算机二级
相关试题推荐
执行语句序列 iht i=0;while(i<25)i+=3;cout<<i; 输出结果是
通过公有派生类的对象,只能访问基类成员中的
下列叙述中正确的是
对类的构造函数和析构函数描述正确的是
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是#include<iostream.h>voidmain(){
下列对结构及其变量定义错误的是()。
有如下程序:#include<iostream>usingnamespacestd;classpoint{intx,y;public:point(intvx,intvy)
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
某二叉树有5个度为2的节点,则该二叉树中的叶子节点数是
C++语言中类定义中默认的访问权限是
随机试题
M10表示公称直径为10mm,螺距为()的粗牙普通螺纹。
不参加脂酸β-氧化的辅因子是
五色分属五脏,则黄色属于
患者,女,33岁。经期小腹隐痛,喜温喜按,阴部空坠不适;经血量少,色淡质清;面色少华,神疲乏力;舌质淡,苔薄,脉细无力。治疗宜首选
常用积热设备种类有()。
在直接代理中,代理人代理行为的法律后果直接作用于被代理人;而在间接代理中,报关企业应当承担与进出口货物收发货人自己报关时所应当承担的相同的法律责任。()
根据我国涉税犯罪法律制度的规定,下列关于危害税收管理罪的表述中不正确的是()。
某甲出生在美国,父亲是中国人,母亲是美国人,父母定居在美国。根据中国国籍法的规定,关于某甲国籍的正确表述是( )。
在VisualFoxPro中,参照完整性的更新规则不包括()。
Inrecentyears,researcheshavesuggestedmorehealthvaluefromvitaminDthanhadoncebeenthought.VitaminDis【C1】____
最新回复
(
0
)