有如下程序: #include #include using namespace std; class MyBag{ public: MyBag(string b

admin2020-06-29  25

问题 有如下程序:
       #include
       #include
       using namespace std;
       class MyBag{
       public:
           MyBag(string br,string cr):brand(br),color(cr) { ++count; }
           ~MyBag() { --count; }
           static int GetCount() { return count; }
       private:
           string brand,color;
           static int count;
       };
       int MyBag::count=0;
       int main(){
           MyBag one("CityLife","Gray"),two("Micky","Red");
           cout<           MyBag *ptr=new MyBag("Coach","Black");
           cout<           delete ptr;
            cout<           return 0;
       }
运行时的输出结果是

选项 A、111
B、132
C、232
D、233

答案C

解析 本题考查构造函数和析构函数,以及静态数据成员,定义one,two时,构造函数被执行了两次,所以count为2,后续又定义了一个指针对象,所以count加1变为了3,当删除那个指针对象时,执行析构函数,count减1,所以是2,答案C正确。
转载请注明原文地址:https://kaotiyun.com/show/ua8p777K
0

最新回复(0)