填空题

使用VC6打开考生文件夹下的工程test4_1,此工程包含一个源程序文件test4_1.cpp,但该程序在类的定义中存在问题,请改正类定义中的错误,使程序的输出结果如下:
a=3 b=13
a=5 b=13
注意:请勿修改主函数main中的任何内容。
源程序文件rcst4_1.cpp清单如下:
#include<iostream.h>
class T

public:
/*********found***+******/
T(int x)a=x; b+=x;)
/+********found**********/
void display(T c)
cout<<"a="<<c.a<<"\t"<<"b="<<c.b<<endl;)
private:
const int a;
static int b;
;
/**********found*********/
int b=5;
void main()

T A(3),B(5);
T::display(A);
T::display(B);

【参考答案】


(1)错误:T(int x){a=x;b+=x;)
正确:T(int x):a(x){b+=x......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

问答题
使用VC6打开考生文件夹下的工程test4_3。此工程包含一个源程序文件test4_3.cpp,其对一个学校的教师和考生情况进行了描述。由于教师和考生之间有相同的信息,如姓名、年龄等,所以可抽象出一个基类person,考生类student和教师类teacher作为person类的派生类。请按要求完成下列操作,将程序中的类定义补充完整。 (1)定义基类person的私有数据成员name和age,分别用于表示姓名和年龄,name为字符指针,age为血型的数据。请在注释“ **1**”之后添加适当的语句。 (2)完成基类person的重载构造函数person(char *n,int a)的定义,把数据成员name,age分别初始化为参数n,a的值,请在注释“ **2**”之后添加适当的语句。 (3)根据主函数main中对s1的声明,定义派生类student的构造函数。在注释“ **3**”之后添加适当的语句。 (4)完成派生类teacher成员函数void setinf(ehar *n,int a,char *d,char *1)的定义,其功能为记录教师的姓名、年龄、院,系与职称信息。请在注释“ **4**”之后添加适当的语句。 输出结果如下: 刘雷(45)destructor 蒋军(23)destructor 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test4_3.cpp清单如下: #include<iostream.h> class person **1** public: person() person(char *n,int a) **2** void setname(char *n)name=n;) void setage(int a)age=a; ~person()cout<<name<< ( <<age<< )destructor <<endl;) ; class student:public person char *department; int code; public: **3** department=d; code=c; ; class teacher:public person char *department; char *level; public: teacher() void setinf(char *n,int a,char *d,char *1) **4** department=d; level=1; ; void main() student s1( 蒋军 ,23, 计算机学院 ,2); teacher t1; t1.setinf( 刘雷 ,45, 计算机学院 , 教授 );