试题与答案

有以下程序: #include<iostream> using namespac

题型:单项选择题

题目:

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

试题推荐
微信公众账号搜索答案