有以下程序: #include<iostream> using namespace std; class MyClass { public:MyClass();~MyClass();void SetValue(int val); private:static int i; }; int MyClass::i=0; MyClass::MyClass() {i++;cout<<i; } MyClass::~MyClass() {i--;cout<<i; } void MyClass::SetValue(int val) {i=val; } int main() {MyClass*my[2];int k;for(k=0;k<2;k++) my[k]=new MyClass;for(k=0;k<2;k++) delete my[k];return 0; } 运行后的输出结果是( )。
A.1210
B.1100
C.1234
D.输出结果不确定
参考答案:A
解析: 类MyClass中变量i是静态数据成员,它被MyClass类的所有对象共享,但它不属于任何一个对象,它的作用域是类范围。程序i是用来统计类MyClass所创建对象的个数,每创建一个对象i加1,每删除MyClass类对象i减1。