首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Con { char ID; public: Con(): ID(W){ cout<<l
有如下程序: #include<iostream> using namespace std; class Con { char ID; public: Con(): ID(W){ cout<<l
admin
2009-03-15
74
问题
有如下程序:
#include<iostream>
using namespace std;
class Con
{
char ID;
public:
Con(): ID(W){ cout<<l; }
Con(char ID): ID(ID) { cout<<2;}
Con(Con& c): ID(c.getID()){ cout<<3;}
char getlD0const {return ID;}
};
void show(Con c){ cout<<c.getID(); }
int main()
{
Concl;
show(cl);
Con c2(’B’);
show(c2);
return 0;
}
执行上面程序的输出是【 】。
选项
答案
13A23B
解析
本题主要考查的是类的构造函数。一个类可以有多个构造函数,它们是一系列的重载函数,故创建对象时究竟应该调用哪个构造函数由传入的构造参数来决定。其中有两个构造函数最为特殊:一个是默认构造函数,它没有任何形参;另一个是拷贝构造函数,它的参数是一个自身类型的引用。当建立对象不传入任何构造参数时会调用默认构造函数,而用一个已创建的对象作为构造参数来创建一个新对象时会调用拷贝构造函数。在本题主函数中,先以默认构造声明了一个对象c1,此时会输出一个“1,c1的ID被初始化为’A’。然后调用show()函数,因为show()函数的形参c为Con类的对象,所以当show()函数被调用时,需要用实参值来实例化形参,即发生拷贝构造。故此时会输出一个“3”,然后在show()函数中会输出形参 c的ID,即c1的ID值“A”。接下来通过一个字符’B’构造另一个对象c2,此时调用的是第2个构造函数,输出一个“2”,然后又调用show()函数,拷贝构造函数再次被调用,输出一个“3”,最后在show()函数中输出c2的ID值“B”。所以执行完后输出的结果是13A23B。
转载请注明原文地址:https://www.kaotiyun.com/show/wsjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
函数rewind(fp)的作用是()。
程序开发之前进行需求分析所产生的主要文档是()。
以下叙述中正确的是
若有定义:inta=0,b=0,c=0,d=0;,以下关于C语言表达式:(++a||++b):++c:++d执行顺序的叙述正确的是
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
下列关于线性链表的叙述中,正确的是
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是
在C语言中,函数返回值的类型最终取决于
随机试题
关于能力,下列说法正确的是()。
首次使用“政治经济学”一词的是()
下图所示对称结构只有水平梁受力。()
一青年农民,32岁,吸烟史8年,每天10支左右,否认慢性咳嗽、咳痰史。近1年来出现间断低热,伴咳嗽、憋气,无咯血及盗汗,胸片示双肺中下野弥漫性、细小、边缘模糊的结节状阴影。体检:无杵状指,呼吸频率16次/分。如果患者曾养鸽子两年,纤维支气管镜活检发现肺
存货清查中,盘盈的存货,若不是发货方多发的,应()。
伊斯兰敦最基本的经典是()。
,()
定义一个函数名为fun,返回值为int,没有参数的纯虚函数的定义是______。
—MayIopen______bag,Madam?—Ofcourse,butit’sfullof______dirtyclothes.
A、Becausewomendomuchworkthanmen.B、Becausepeoplethinkwomenweakerthanmen.C、Becausesportiseasierformenthanfor
最新回复
(
0
)