有如下程序: 撕nclude<iostream> using namespaee std; class MyClass { pubiw,: MyClass() {++ count} ~MyClass(){--

admin2021-05-06  36

问题 有如下程序:
    撕nclude<iostream>
    using namespaee std;
    class MyClass {
    pubiw,:
    MyClass() {++ count}
    ~MyClass(){--count;}
    static int getCount(){return count;}
    private:
    static int count;
    };
    int MyClass∷count=0;
    int main()
    {
    MyClass obj;
    cout<<obj.getCount();
    MyClass * ptr=new MyClass:
    cout<<MyClass∷getCount();
    delete ptr;
    cout<<MyClss∷getCount();
    return 0;
    }
    执行这个程序的输出结果是(    )。

选项 A、121
B、232
C、221
D、122

答案A

解析 本题考查静态数据成员。静态数据成员在内存中只占一份空间,静态数据成员属于类。即使不定义对象,也会给静态数据成员分配空间,可以被引用。本题中先是定义了一个对象obj,执行构造函数使得静态数据成员count变为了1,然后又定义了指针对象,执行构造函数后,count变为了2,释放指针后,执行析构函数,使得count变为了1。所以本题答案为A。
转载请注明原文地址:https://jikaoti.com/ti/7nh0FFFM
0

最新回复(0)