问题
单项选择题
下列程序执行结果是
#include <iostream.h>
class A
public:
int a;
A():a(10)cout<<a<<endl;
;
void main()
A obj1;
A obj2(obj1);
cout<<" "<<obj2.a<<endl;
A.10 10
B.编译错误缺少拷贝构造函数
C.10随机数
D.随机数随机数
答案
参考答案:A
解析: 本题考察拷贝构造函数的知识。如果类中没有实现拷贝构造函数,则编译器会为其自动生成一个。对于本题这种简单对象,默认生成的拷贝构造函数可以完成数据成员的自动赋值,对于复杂对象.则可能需要显式定义拷贝构造函数。