首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
2019-07-10
41
问题
有如下程序
#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/eW8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classAA{intn;public:AA(intk):n(k){}intget(
下列关于运算符重载的描述中,正确的是()。
下列程序从保存整数的文本文件"c:Sample.dat"中依次取出每个数据并显示出来,同时统计并显示出所有数据的个数。程序划线处的表达式为【 】。#include<stream,h>#include<st
树是结点的集合,它的根结点的数目是()。
类ostream的成员函数【】用于执行无格式输出,成员函数put用于输出单个字符。
下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。#include<iostream.h>#inelude<iomanip,h>template<classT>classArray{
下列有关类继承的叙述中,错误的是()。
下列字符串中可以用作C++语言标识符的是()。
在关系数据库中,用来表示实体间联系的是
以下不使用线性结构表示实体之间联系的模型的是()。
随机试题
国际建议和国际文件的采用形式有哪些?
行政机关对企业提供的商业秘密负有保密义务。()
肺泡的结构特点错误的是()
对全国的建设丁程质量实施统一监督管理的主管部门为( )。
下列导致滑坡的因素中最普通最活跃的是()。[2016年真题]
公安机关对在强制戒毒期限内戒除毒瘾的,应当()。
1.为深入贯彻落实党中央、国务院关于优化营商环境和推进“放管服”改革的部署要求,2017年9月,税务总局发布《关于进一步深化税务系统“放管服”改革优化税收环境的若干意见》(以下简称《意见》),集成推动税务系统“放管服”改革提质升级。简政放权作为“
证券市场线(青岛大学2012真题)
下列叙述中正确的是()。
•ReadthearticlebelowaboutSaunda.•Inmostofthelines34-45thereisoneextraword.Itiseithergrammaticallyincorrec
最新回复
(
0
)