A-A+

使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类并不完整 按要求完成下

2022-08-05 21:32:22 问答库 阅读 172 次

问题详情

使用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> classTC { //********1******** intOwn; public: TC(inti) { wn=i; } //********2******** { returnNum+obj->Own; } }; //********3******** intmain() { TCobj(11); //********4******** cout$amp;请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:源程序,文件夹