填空题

使用VC6打开考生文件夹下的工程test21_1,此工程包含一个源程序文件test21_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: The grade is 3 源程序文件test21_1.cpp清单如下: #include<iostream.h> class student { private: int grade; public: /**************** found*******************/ student(int thegra):(thegra){} ~student(){} int get_grade(){return grade;} }; void main() { int thegra=3; /**************** found*******************/ student point=new student(thegra); /**************** found*******************/ cout<<"The grade is"<<point.get_grade()<<endl; delete point; }

【参考答案】

(1)错误:student(int thegra):(thegra){} 正确:student(int thegra):......

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

问答题
使用VC6打开考生文件夹下的工程test21_3,此工程包含一个源程序文件test21_3.cpp,其中定义了用于表示长方形的类CRectangle,但类CRectangle的定义并不完整。请按要求完成下列操作,将类CRectangle的定义补充完整。(1)定义CRectangle的构造函数,函数含参数dx,dy,da和db,它们都是double型的数据,请将类数据成员x,y, a和b初始化,并输出“CRectangle Constructed.”(另起一行输出该文字)。请在注释“ **1**之后添加适当的语句。(2)完成类CRectangle的成员函数getperimeter()的定义,将以a和b为边的矩形周长的值返回,请在注释“ **2**”之后添加适当的语句。(3)完成类CRectangle的成员函数getarea()的定义,将以a和b为边的矩形面积的值返回,请在注释“ **3**”之后添加适当的语句。(4)完成类CRectangle的友元函数friend double dist(CRectangle& rt)的定义,先定义两个double型的临时变量tx和ty,然后将参数对象rt的数据成员x与a的一半相加,y与b的一半相加,分别赋值给tx和ty,最后求出tx与ty的平方和的值之后将它的平方根返回,将请在注释“ **4**”之后添加适当的语句。输出结果如下:CRectangle Constructed.Down_Left corner point is:(100,50)a=1200,b=700Perimeter of this rectangle is:3800Area of this rectangle is:840000The Distance is:806.226CRectangle Constructed.Down_Left corner point is:(200,150)a=2000,b=800Perimeter of this rectangle is:5600Area of this rectangle is:1.6e+006The Distance is:1320.04CRectangle Destructed.CRectangle Destructed.注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test21_3.cpp清单如下:#include<iostream.h>#include<math.h>class CRectangle{private:double x;double y;double a;double b;public:CRectangle(){cout<< nCRectangle Constructed. <<endl;}CRectangle(double dx, double dy, double da, double db){ **1**a=da;b=db;cout<< nCRectangle Constructed. <<endl;}~CRectangle ( ){cout<< CRectangle Destructed. <<endl;}void putxy(double dx, double dy){ x=dx; y=dy;}void putab(double da, double db)( a=da; b=db;}double getx(){ return x;}double gety(){ return y;}double geta(){ return a;}double getb(){ return b;}double getperimeter(){ **2**}double getarea(){ **3**}friend double dist(CRectangle& rt);};double dist(CRectangle& rt){ **4**ty=rt.y+rt.b 2.0;return sqrt(tx*tx+ty*ty);}void main(){CRectangle rect;rect.putxy(100.0, 50.0);rect.putab(1200.0, 700.0);cout<< Down_Left corner point is: ( <<rect.getx() << , <<rect.gety()<< ) <<endl;cout<< a= <<rect.geta()<< , b= <<rect.getb() <<endl;cout<< Perimeter of this rectangle is: <<rect.getperimeter()<<endl;cout<< Area of this rectangle is: <<rect.getarea()<<endl;cout<< The Distance is: <<dist(rect)<<endl;CRectangle recta(200,150,2000,800);cout<< Down_Left corner point is:( <<recta.getx()<< , <<recta.gety()<< ) <<endl;cout<< a= <<recta.geta()<< , b= <<recta.getb()<<endl;cout<< Perimeter of this rectangle is: <<recta.getperimeter()<<endl;cout<< Area of this rectangle is: <<recta.getarea()<<endl;cout<< The Distance is : <<dist(recta)<<endl;}