有如下程序: #include using namespaee std; class Con { char ID; public: Con():ID(A){cout

admin2020-05-14  21

问题 有如下程序:
#include
using namespaee std;
class Con
{
char ID;
public:
Con():ID(A){cout<<1;)
Con(char ID):ID(ID){cout<<2;)
Con(Con&c):ID(CgetlD()){cout<<3;}
char getlD()const{return ID;)
};
void show(Con c){cout((CgetID();}
int main()
{
Con c1;
show(c1);
Con c2(’B’);
show(c2);
return 0;
}
执行上面程序的输出是(    )。

选项 A、13A23A
B、23A13B
C、13A23B
D、13823A

答案C

解析 Con c1定义c1对象,调用Con的无参数构造函数,输出1,ID值变为A,执行show(d)时会调用复制构造函数,将c1对象的值复制给show函数的形参,此时输出3,然后在show()中输出c1的ID值A,Con c2(’B’)定义c2对象,调用Con(char ID)构造函数,输出2,c2的ID值为B,show(c2)执行时先调用复制构造函数输出3,然后输出B。因此程序输出结果为“13A23B”。
转载请注明原文地址:https://kaotiyun.com/show/fc8p777K
0

最新回复(0)