问题
单项选择题
以下程序的执行结果为( )。 #include<iostream.h> class myClass { Dublic:myClass(int data) ;myClass(){value=0; };myClass(myClass &obj);void print(){ cout<<value<<end1; }~myClass(){} private:int value; }; myClass::myClass(int data) {value=data; } myClass::myClass(myClass &Obj) {value=obj.value; } void main() {myClass a(100);myClass b(a) ;b.print(); }
A.0
B.100
C.10
D.程序编译时出错
答案
参考答案:B
解析: 题中类myClass定义了一个拷贝初始化构造函数myClass(myClass &obj)。在主函数中,系统首先自动调用相应的构造函数建立对象,然后调用拷贝构造函数对对象b进行初始化。所以程序最后的输出为100。