首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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-09-05
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://www.kaotiyun.com/show/5E5p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;intmain(){.inta[6]={23,15,64,33,40,58);ints1,s2;s1=s2=a[0];
有如下程序:#includeusingnamespacestd;classBasel{public:Base1(intd){cout
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
在C++中既可以用于文件输入又可以用于文件输出的流类是()。
下列有关数据库的描述,正确的是()。
用树形结构表示实体之间联系的模型是()。
if语句的语法格式可描述为:格式1:if(<条件>)<语句>或格式2:if(<条件>)<语句1>else<语句2>关于上面的语法格式,下列表述中错误的是()。
下列关于虚函数的表述中,正确的是
按照软件测试的一般步骤,集成测试应排列在()之后。
随机试题
关于慢性肾衰竭伴发心脏扩大的原因,下列哪项是错误的
生物利用度试验中,采样点的分布应为
ds区元素包括()。
《中共中央关于全面深化改革若干重大问题的决定》中提出,到2020年,要完成决定中提出的改革任务,所要形成的制度体系特点是()。
下列叙述有误的是()。
实对阵矩阵A与矩阵合同,则二次型xTAx的规范形为__________。
虚拟存储技术引入的前提是()。
关于网络配置管理的描述中,错误的是
打开数据访问页的设计视图时,系统会同时打开【】。
Readthetextbelowaboutbrokers.Choosethebestwordtofilleachgap,fromA,B,CorD.Foreachquestion19—33markonele
最新回复
(
0
)