有如下程序:#include<iostream>#include<cstring>using namespace std;class X
有如下程序:
#include<iostream>
#include<cstring>
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<<at}
int Geta(){return at}
};
int main(){
XCF dl(5),d2(d1);
XCF半pd=new XCF(8);
cout<<pd->Geta();
delete pd;
return 0;
}
运行时的输出结果是
A.1215588
B.1218855
C.12185
D.128512
正确答案:B解析:在主函数中XCFd1(5),d2(d1);,d1调用了第一个构造函数,输出1;d2调用了拷贝构造函数,输出2;xcF*pd=IleW XCF’(8);调用了构造函数,输出l;cout<<pd->Geta( );调用了成员函数Geta( ),输出8;delete pd;调用了析构函数,输出8;return 0;,在返回O之前程序会自动调用d1和d2的析构函数,输出55。因此总的输出应该是1218855。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
