首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
61
问题
有如下程序
#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.h>intfunc(intn){if(n<1)returnl;elsereturnn+func(n-1);
下列语句中不是死循环的是
有以下程序#include<iostream>usingnamespacestd;classBaseinta;public:Base(intx){a=x;}voidsh
下面不属于软件设计原则的是
下面对对象概念描述错误的是
将E-R图转换到关系模式时,实体与联系都可以表示成
对下列二叉树进行中序遍历的结果是
线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【 】存储结构。
对于模板定义关键字class和typename说法不正确的是
随机试题
医疗侵权赔偿责任中,医疗过错的认定标准是
培养理论
犬,3岁,生病3天,体温39℃,精神倦怠,体瘦毛焦;咳嗽,气喘,喉中痰鸣,痰液白滑;腹部煽动,喜立,不卧;鼻液增多,量多色白而黏稠;胸胁触痛;口色青白,舌苔白滑,脉滑。该证属于
某水利建筑工程的机电设备安装工程的单价计算中,直接费为工费为Ⅱ,其他直接费为Ⅲ,已知现场经费的费率为又,则现场经费为()。
拱和拱顶的砌筑锁砖均应从()打人拱内。
躁狂症“三高症状”包括()。(2003年8月三级真题)
当调整账户与被调整账户的余额在不同方向时,应属于()。
人民代表大会制度是我国的根本政治制度,我国人民代表大会制度组织和活动的基本原则是()
[*]
Whatistrueaboutthespeaker’sneighbor?
最新回复
(
0
)