选择题
有如下程序:
#include<iostream>
using namespace std;
class Monkey{
public:
Monkey() {cout<<'M';}
Monkey(char n) {cout<<n;)
~Monkey() {cout<<'Y';}
};
int main(){
Monkey p1,*p2;
p2=new Monkey('X');
delete p2;
return 0;
}
运行这个程序的输出结果是______。
A、
MYX
B、
MYMY
C、
MXY
D、
MXYY
【正确答案】
D
【答案解析】
在类Monkey中定义了默认的构造函数和带参数的构造函数,所以在主函数中,定义Monkey的对象p1时,调用默认的构造函数,输出M;定义Monkey的对象p2时,调用带参数的构造函数,输出X;在执行“delete p2;”语句时,调用析构函数,输出Y,在退出程序时,调用析构函数输出Y。
提交答案
关闭