有如下程序: #include #include using namespace std; class TestClass{ public: TestClass (){cout

admin2021-02-22  25

问题 有如下程序:
#include
    #include
    using namespace std;
    class TestClass{
    public:
    TestClass (){cout<<A;)
    TestClass(char c){cout<    ~TestClass O{cout<<B;)
    };
    int main(){
    TestClass p1,*p2;
    p2=new TestClass(‘X’);
    delete p2;
    return 0:
    }
执行这个程序的结果是(    )。

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

答案C

解析 在定义对象p1时由系统自动调用构造函数TestClass(),输出字母A;用new创建单个对象TestClass(x)时,要根据参数调用相应的构造函数TestClass(char c),输出字母X;在执行delete时,系统会自动调用析构函数一TestClass(),输出字母B,当对象的生存周期即将结束时系统会自动调用析构函数~TestClass(),输出字母B。
转载请注明原文地址:https://kaotiyun.com/show/qBfp777K
0

最新回复(0)