问题 填空题

有以下程序:
#include<iostream>
using namespace std;
class MyClass

public:
MyClass();
~MyClass();
static int s;
void SetValue(int val);
);
int MyClass::s=0;
MyClass::MyClass()

-s++;
Void MyClass::SetValue(int val)

3=Val;

int main()

MyClass my[3],*p;
p=my;
for(int k=0;k<3;k++)

p->SetValue(k+1);
p++;

cout<<MyClass::s<<endl;
return 0;

运行后的输出结果是______。

答案

参考答案:3。

解析: 本题程序中把变量s定义为静态数据成员,它的作用域是类范围。在类MyClass的构造函数中,每创建一个对象,s就增1,由此可知s用来记录建立对象的个数。由于创建对象指针p时并不会调用构造函数,所以s最后的值是3。

单项选择题 A3型题
选择题