有如下程序: #include<iostream> #include<iomanip> using namespace std; class TestClass{ public; TestClass (){cou

admin2012-01-20  57

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

最新回复(0)