有如下程序: #inc1ude<iostream> using namespace std; c1ass Monkey{ public: Monkey() {cout<<’M’;} Monkey(char

admin2017-06-18  18

问题 有如下程序:
    #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;
    }
    运行这个程序的输出结果是(    )。

选项 A、MYX
B、MYMY
C、MXY
D、MXYY

答案D

解析 在类Monkey中定义了默认的构造函数和带参数的构造函数,所以在主函数中,定义Monkey的对象p1时,调用默认的构造函数,输出M;定义Monkey的对象p2时,调用带参数的构造函数,输出X;在执行“delete p2;”语句时,调用析构函数,输出Y,在退出程序时,调用析构函数输出Y。
转载请注明原文地址:https://kaotiyun.com/show/SmAp777K
0

最新回复(0)