有如下程序:
#include<iostream>
#include<iomanip>
using namespace std;
class MyClass
public:
MyClass( )cout<<’A’;
MyClass(char C) cout<<c;
~MyClass( )cout<<’B’;
;
int main( )
MyClass pl,*p2;
p2=new MyClass(’X’);
delete p2;
return 0;
执行这个程序屏幕上将显示输出
A.ABX
B.ABXB
C.AXB
D.AXBB
参考答案:D
解析: Myclass p1,*p2;在生成对象pl时要调用Myclass的无参构造函数打印A;p2=newMyclass(’X’);生成对象时调用有参构造函数打印X;在删除指针p2时调用MyClass的析构函数一次,打印B;在程序结束时,删除对象p1,调用析构函数一次,打印B。