首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
57
问题
有如下程序
#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全国计算机二级
相关试题推荐
若有以下程序:#include<iostream>usingnamespacestd;intf(){staticinti=0;ints=1;s+=i;
下面关于虚函数的描述,错误的是
以下各选项组中,均是C++语言关键字的组是
如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
类ostream的成员函数______用于执行无格式输出,成员函数______用于输出单个字符。
如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的【】函数。
语句ofstreamf("SALARY.DAT",ios::applios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()。
下列关于break语句的叙述不正确的是()。
下列关于栈的叙述正确的是
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
随机试题
下列各项中,应计入制造费用的有()。
RemembertheStoneAgedaysofresearchbackinelementaryschoolandmiddleschool?Wewouldspendcountlesshoursdigestingth
A.α受体B.β受体C.M受体D.N1受体E.N2受体皮肤、腹腔内脏血管上的主要受体是
A.血液传播B.飞沫传播C.唾液传播D.食物传播E.蚊虫传播戊型肝炎主要由()
仲裁协议应当具备的内容有()。
工程安全环保设施费用、环境保护措施费用应在()中明确。
甲县乙镇税务所以自己名义对王某作出了罚款1000元的决定,王某不服,拟申请行政复议。根据行政复议法律制度的规定,该行政复议案件的被申请人应为()。
[2013年·吉林·简答]马斯洛需要层次论将人类需要分为哪7层?
80386及其以上微处理器在80286已有的保护模式基础上增加了( )。
以下选项中合法的用户标识符是
最新回复
(
0
)