欢迎来到考试题库网 考试题库官网

问答题

使用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)
{
Own=i;
}
//********2********
{
returnNum+obj->Own;
}
};
//********3********
intmain()
{
TCobj(11);
//********4********
cout<<<<endl:
return0;
}

    【参考答案】

    (1)应添加“staticintNum;”。
    (2)应添加“intTC::Num=10;”。
    (3)应添加“staticintget(TC*obj)”。
    (4)将“cout<<<<endl;”补充完整为“cout<<obj.get(&obi)<<endl;”。
    【解析】第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<<<<endl;”语句缺少输出值,题目中要求对象对静态函数get进行调用,对象对成员函数的调用格式为:对象名.成员函数,即“cout<<obj.get(&obj)<<endl;”。

    (↓↓↓ 点击下方‘点击查看答案’看答案解析 ↓↓↓)

    点击查看答案&解析

    相关考题