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