有如下程序 #inc1ude<iostream> #inc1ude<iomanip> using namespace std; class Myclass{ public: Myclass(){cout<’A’;}

admin2020-04-07  56

问题 有如下程序
    #inc1ude<iostream>
    #inc1ude<iomanip>
    using namespace std;
  class Myclass{
  public:
    Myclass(){cout<’A’;}
    Myclass(char c){ cout<<c,}
    ~Myclass(){cout<’B’;}
    };
    int main(){
    Myclass p1,*p2;
    p2= newMyclass(’X’);
    delete p2;
    return 0;
    }
  执行这个程序屏幕上将显示输出(     )。

选项 A、ABX
B、ABXB
C、AXB
D、AXBB

答案D

解析 此题考查的是构造函数和析构函数。构造函数在对象被创建的时候由系统自动调用,而析构函数在对象的生存期即将结束的时候由系统自动调用。此题中,主程序在创建MayClass类的对象pl时,调用MayClass类的默认构造函数,输出字母A;然后在创建*p2对象时,调用带字母参数的构造函数,输出字母X;语句delete p2;调用析构函数,输出字母B;在主函数退出时,调用析构函数清除对象p1,输出字母B。
转载请注明原文地址:https://kaotiyun.com/show/3x8p777K
0

最新回复(0)