问题 填空题

使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使得程序的输出结果为21。
(1)增加静态私有变量Num,类型为int,请在注释1后添加适当的语句。
(2)增加静态变量Num并初始化为10,请在注释2后添加适当的语句。
(3)完成静态函数get的定义,请在注释3后添加适当的语句。
(4)完成对象obj对静态函数get的调用,使得输出结果为21,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include<iostream.h>
class TC

//********1********
int Own;
public:
TC(int i)

Own=i;

//********2********

return Num+obj—>Own;


//********3********
int main()

TC obj(11);
//********4********
cout<<<<end1;
return 0;

答案

参考答案:将“cout<<<<end1;”补充完整为“cout<<obj.get(&obj)<<end1;”。

解析: 第1处要求“增加静态私有变量Num,类型为int,”。静态变量的定义格式为static类型变量名称,本题只要在类的private区域定义int型的静态变量Num,即在第1处添加“static int Num;”。第2处要求“增加静态变量Num并初始化为10”。第2个标识的位置在类TC的外部,在C++中,使用“::”作用域运算符声明定义的变量属于哪个类。由题干知道,Num属于类TC,根据C++的作用域运算符,在第2处添加语句“int TC::Num=10;”。第3处要求“完成静态函数get的定义”。根据第3个标识下的“return Num+obj—>Own;”语句知道,get函数具有形参obj指针。obj调用Own变量,说明它是TC类型,并且静态函数的定义只要在其前面声明static就可以了,即在第3处添加语句“static int get(TC *obj)”。第4处要求“完成对象obj对静态函数get进行调用,使得输出21到屏幕上”。程序中第4处的“cout<<<<end1;”语句缺少输出值,题目中要求对象对静态函数get进行调用,对象对成员函数的调用格式为:对象名.成员函数,即“cout<<obj.get(&obj)<<end1;”。

单项选择题
单项选择题