首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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-05-06
18
问题
有如下程序
#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/qBh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;intmain(){inta[10];for(int*p=a;p
有如下类声明:classTe{public:Te();//①Tete;//②Te*
有如下程序段:inti=100;while(inti=10){cout
有如下类声明:classMau{intk;constintm;public:Mau(intk1,intm1);};则构造函数Mau的下列定义
重载输入流运算符“>>”必须使用的原型为()。
下面是重载为非成员函数的运算符函数原型,其中错误的是()。
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
若要重载+、=、<<、==和口运算符,则必须作为类成员重载的运算符是()。
设一棵树的度为3,其中没有度为2的结点,且叶子结点数为5。该树中度为3的结点数为
随机试题
完成反应式
A.短暂性脑缺血发作B.脑出血C.蛛网膜下腔出血D.脑血栓形成E.脑栓塞多在安静休息或睡眠时发病
普通混凝土小型空心砌块中主砌块的基本规格是下列哪组数值(mm)?[2006—005]
下列采用了空间薄壳结构的公共建筑是:
单层建筑物内设局部3层楼用于办公,其中第二层没有围护结构的,()。
五笔字型输入法属于()。
2008年金融危机后,巴塞尔委员会有效银行监管核心原则的主要变化趋势包括()。
根据个人所得税法律制度的规定,下列关于个人所得来源地的判断中,正确的有()。(2010年)
追求实现完全人格的教育,反对教育的过早专门化和过分职业化,这体现了()。
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性:
最新回复
(
0
)