A-A+
有如下程序: #include<iostream> using namespace std;
问题详情
有如下程序: #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。