问答题 使用VC++6.0打开下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)在类TC中定义name为字符串类型,age为int型,请在注释1之后添加语句。 (2)设置类TC0的基类为TC类的定义,请在注释2后添加语句。 (3)在类TC的派生类TC0的公有成员中定义析构函数TC0,请在注释3后添加语句。 (4)设置类TC1的基类为TC类的定义,请在注释4后添加语句。 程序输出结果为 TC class constructor TC0 class constructor TC on class constructor TC1 class constructor TC1 class constructor TC class constructor TC0 class constructor TC class constructor 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #include<iostream.h> class TC { //********1******** public: TC(){cout<<"TC class constructor"<<endl;}~ TC(){cout<<"TC class constructor"<<endl;} }; //********2******** { char*departmert; int level; public: TC0() {cout<<"TC0 class constructor"<<endl;} //********3******** {cout<<"TC0 class constructor"<<endl;} }; //********4******** { char*major; float salary; public: TC1(){cout<<"TC1 class constructor"<<endl;}~ TC1(){cout<<"TC1 class constructor"<<endl;} }; void main() { TC0 s1; TC1 t1; }
【正确答案】答案考生文件夹
(1)应添加“char*name; int age;”。
(2)应添加“class TC0:public TC”。
(3)应添加“~TC0()”。
(4)应添加“class TC1:pubic TC”。
【答案解析】[解析] 本题第1处要求“TC中定义name为字符串类型,age为整型”。根据题目要求,在程序TC类中定义变量name和age,即“char*name; int age;”。第2处要求“设置类TC0的基类为TC类的定义”。在C++中,从已有的类产生一个新的子类,称为类的派生。声明派生类的一般形式为“class派生类名:[继承方式]基类名”。根据声明派生类的一般形式,这里补全“class TC0:public TC”。第3处要求“在类TC的派生类TC0的公有成员中定义析构函数TC0”。析构函数也是一个特殊的成员函数,它的作用与构造函数相反,它的名称是在类名前面加一个“~”符号。题目中要求的类名称为“TC0”即这里补全“~TC0()”。第4处要求“设置类TC1的基类为TC1类的定义”,在第4处补充“class TC1:public TC”。