有如下程序:
#include <iostream>
using namespace std;
class Con
char ID;
public:
Con( ):ID(’A’)cout<<1;
Con(char ID) :ID(ID) eout<<2;
Con(Con&C) :ID(C.getID( ))cout<<3;
char getID( )constreturn ID;
;
void show(Con e)cout<<e.getID( );
int main( )
Con cl;
show(c1);
Con c2(’B’);
show(c2);
return 0;
程序的输出结果是______。
参考答案:13A23B
解析: Con cl;调用一次Con的无参构造函数打印1。show(c1),先y调用复制构造函数Con(Con&C) :ID(c.getID( )),此时ID=’A’,并打印3,然后执行show( )函数,打印A。Con c2(’B’);调用带参构造函数,打印2,并将c2.ID赋值’B’。show(c2);同样的道理,执行复制构造函数,打印3,并将ID赋值’B’,然后再执行show( )函数,打印B。故结果为13A23B。