有如下程序: #include<iostream> using namespace std; class Toy{ public: Toy(char*_n){strcpy(name,_n);count++;} ~Toy(

admin2012-01-20  24

问题 有如下程序:    #include<iostream>    using namespace std;    class Toy{    public:    Toy(char*_n){strcpy(name,_n);count++;}    ~Toy(){count--;}    char*GetName( ){return name;}    static int getCount( ){return count;}    private:    char name[10];    static int count;    };    int Toy::count=0:    int main( ){    Toy tl("Snoopy"),t2("Mickey"),t3("Barbie");    cout<<t1.getCount( )<<endl;    return 0;    }    程序的输出结果是

选项 A、1
B、2
C、3
D、运行时出错

答案C

解析 静态数据成员是同一个类的不同对象之间的数据共享,无论创建多少个类,均只有一个静态数据成员,通过对静态数据成员的调用,实现了数据共享。本题创建了3个Toy对象,所以调用3次构造函数,count被增加3次,故sount=3。
转载请注明原文地址:https://jikaoti.com/ti/QaL0FFFM
0

最新回复(0)