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

admin2012-12-29  20

问题 有如下程序:
    #include
    #include
    using namespace std;
        public:
        TestClass (){cout<<‘A’;}
        TestClass(char c){cout<        ~TestClass(){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(chat c),输出字母x;在执行delete时,系统会自动调用析构函数~TestClass(),输出字母B,当对象的生存周期即将结束时系统会自动调用析构函数一TestClass (),输出字母B。
转载请注明原文地址:https://kaotiyun.com/show/5uVp777K
0

最新回复(0)