选择题 18.  有如下程序
    #include<iostream>
    using namespace std;
    class MyClass{
    public:
    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<<MyClass::getcount();
    return 0;
    }
    程序的输出结果是______。
【正确答案】 A
【答案解析】 本题主要考查构造函数和析构函数的调用,以及静态成员的使用。生成对象,自动调用构造函数,执行“++count;”,count变为1。通过对象调用成员函数getcount(),输出count值为1。定义指针ptr指向动态分配的对象空间,也要自动调用构造函数,count第二次自增,值为2。通过类名和作用域运算符“::”可以直接访问类的静态成员,输出count值为2。“delete ptr;”需要回收new为其分配的动态空间,要自动调用析构函数,count自减后值为1。