有如下程序: #include #include using namespace std; class XCF{ int a; public: XCF(int aa=O):a(aA){cout

admin2017-10-17  31

问题 有如下程序:
#include
#include
using namespace std;
class XCF{
int a;
public:
XCF(int aa=O):a(aA){cout<<”1”;}
XCF(XCF&X){a=x.a;cout<<”2”;}
~XCF(){cout<int Geta(){return at}
};
int main(){
XCF dl(5),d2(d1);
XCF半pd=new XCF(8);
cout<Geta();
delete pd;
return 0;
}
运行时的输出结果是

选项 A、1215588
B、1218855
C、12185
D、128512

答案B

解析 在主函数中XCF  d1(5),d2(d1);,d1调用了第一个构造函数,输出1;d2调用了拷贝构造函数,输出2;xcF*pd=IleW XCF’(8);调用了构造函数,输出l;cout<Geta( );调用了成员函数Geta( ),输出8;delete pd;调用了析构函数,输出8;return 0;,在返回O之前程序会自动调用d1和d2的析构函数,输出55。因此总的输出应该是1218855。
转载请注明原文地址:https://jikaoti.com/ti/JIt0FFFM
0

最新回复(0)