首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
31
问题
有如下程序:
#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://jikaoti.com/ti/PZW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面不属于软件设计阶段任务的是
设有定义:intx=0,*p;紧接着的赋值语句正确的是()。
给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正
以下叙述错误的是()。
将E-R图转换为关系模式时,实体和联系都可以表示为()。
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为( )。
有如下程序段:intx=12;doubley=3.141593;pfintf("%d%8.6f",x,y);其输出结果是()。
下列关于线性链表的叙述中,正确的是
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是
C语言程序中,运算对象必须是整型数的运算符是()。
随机试题
关于化学突触传递,下列说法正确的是()。
他们已经十年没见面了。
对于易溶于水,在水溶液中不稳定的药物,可制成哪种类型注射剂()
在相对固定的周期内,企业应收账款周转率越高,说明企业应收账款管理的状况有()。
见票即付的汇票,自出票日起()内向付款人提示付款。
以下属于汽车产品外观性能的是()
根据我国国家外汇管理局的定义,我国外债不包括()。
审核建设工程的消防设施是消防工作的一项重要任务。()
PASSAGEFOURWhyisIt’saWonderfulLifementionedinparagraphthree?
Attheparty,everybodycongratulatedthescientist______winningtheawardafterhisyearsofhardwork.
最新回复
(
0
)