试题与答案

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

题型:填空题

题目:

有以下程序 #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) (s=val; } int main() { MyClass my[3],*p; p=my; for(int k=0;k<3;k++) {p->SetValue(k+l);p++; } cout<<MyClass::s<<end1; return 0; } 运行后的输出结果是 【11】

答案:

参考答案:C

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

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