首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
40
问题
有如下程序:
#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://kaotiyun.com/show/wsjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
执行以下语句段后,xy的值是()。int*pt,xy;xy=200;pt=&xy;xy=*pt+30;
对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()。
设有定义:inta,b;floatx,y;,则以下选项中对语句所作的注释叙述错误的是
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
在面向对象方法中,不属于"对象"基本特点的是()。
一棵二叉树共有25个结点,其中5个是叶子结点,则度为l的结点数为()。
在关系数据库中,用来表示实体间联系的是
“商品”与“顾客”两个实体集之间的联系一般是
随机试题
()能促进劳动专业化和工具专业化,使组织的效率提高。
使肾小球滤过率降低的因素是()。
在Excel2000工作表中,有以下数值数据,在C3单元格的编辑区输入公式”=C2+$C$2”,单击“确认”按钮,C3单元格的内容为_______。
对未明确诊断的急腹症病人,下列哪项处置是错误的
下列哪一项为新药Ⅳ期临床试验的内容之一
A.射干麻黄汤B.定喘汤C.A和B均宜D.A和B均不宜E.以上都不是
茶砖—砖茶
A、 B、 C、 D、 D本题属于数量类题目。题干中每幅图形包含的圆圈与方块数量之差依次为:2-0=2,3-1=2,4-2=2,3-1=2,4-2=2。选项中只有D项包含的圆圈与方块的数量之差为2。故本题答案
(02年)设矩阵A=,3维列向量α=(a,1,1)T,已知Aα与α线性相关,则a=_______.
Denial,anger,bargaining,depression,acceptance.Someltedintopopculturearethefivestagesofgrief—introducedinthe1
最新回复
(
0
)