问答题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义私有常量PI,请在注释//********1********后添加适当的语句。 (2)完成类的私有常量PI的赋值,以及完成对半径radius的赋值。请在注释//********2********后添加适当的语句。 (3)完成计算圆面积的函数GetArea()。请在注释//********3********后添加适当的语句。 (4)完成计算圆周长的函数GetGirth()。请在注释//********4********后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include<i0stream.h>#define CONST PI 3.141592Class CCircle{private: double radius; //********1********public: //********2******** CCircle(int radius) {this->radius=radius; } double GetArea() { //********3******** } double GetGirth() { //********4******** } void SetRadius(int m) radius=m; )};int main(){ CCircle circle(5); cout<<circle.GetArea()<<endl; cout<<circle.GetGirth()<<endl; circle.SetRadius(10); cout<<circle.GetArea()<<endl; cout<<circle.GetGirth()<<endl; return 0;}
【正确答案】正确答案:(1)添加语句:const double PI; (2)将“CCircle(int radius)”补充完整为:CCircle(int radius):PI(CONST_PI) (3)添加语句:return radius*radius*PI; (4)添加语句:return 2*radius*PI;
【答案解析】解析:(1)第1个标识下定义私有常量PI,常数据成员是使用const说明的数据成员,因此第1个标识下应添加“const double PI;”。 (2)常数据成员的初始化只能通过构造函数的成员初始化列表进行,构造函数CCircle(int radius)应对常数据成员PI进行初始化,第2个标识下应改为“CCircle(int radius):PI(CONST_PI)”。 (3)第3个标识下返回圆面积值,圆面积为半径平方与PI的乘积值,即第3标识下应添加“return radius*radius*PI;”。 (4)第4个标识下返回周长,即第4表示下应添加“return 2*radius*PI;”。