A-A+

有如下程序: #include<iostream> using namespace std;

2022-08-05 20:12:46 问答库 阅读 171 次

问题详情

有如下程序: #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。

考点:程序