单选题
有如下程序:
#include<iostream>
#include<string>
using namespace std;
class MyBag{
public:
MyBag(string br, string cr):brand(br), color(cr){++count; }
static int GetCount(){return count; }
private:
string brand, color;
static int count;
};
int MyBag::count=0;
int main(){
MyBag one("CityLife", "Gray");
cout<<one.GetCount();
MyBag*ptr=new MyBag("Coach", "Black");
cout<<MyBag::GetCount();
return 0;
}
运行时的输出结果是______。
【正确答案】
A
【答案解析】[解析] 静态成员变量count在构造函数中完成前缀自增1的运算,所以语句MyBag one(“CityLife”,“Gray”)在调用构造函数时,完成++count,此时调用one.GetCount()输出count的值为1;同理new MyBag语句也会调用构造函数,完成++count,此时count的值为2,通过类名MyBag调用GetCount()时,输出count的值为2,最终输出结果为12,答案为A选项。