问题 单项选择题

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

判断题
单项选择题