结构推理 下面是一个类Circle的定义,它有一个整型成员变量radius,有一个无参构造函数,还包括存取radius的两个函数GetRadius()和SetRadius(),程序中已经为Circle定义了大多数成员函数。仔细阅读类的定义,然后完成后面的四个小题。 class Circle { public: Circle():radius(5){} void SetRadius(int r) { radius=r; } int GetRadius() { return radius; } private: int radius; //圆的半径 }; (1) 为下面的类增加一个构造函数,该函数有一个参数,并在构造时将该参数值赋给成员radius。将该函数实现为一个非内联函数。 (2)为类增加一个成员函数print(),使得可以输出有关圆的信息,比如下列程序Circle c; c.SetRadius(5); c.Print(); 将输出: The circle has radius of 5!
【正确答案】(1)在类的定义体中增加构造函数定义的语句: Circle(int rad); 或者: Circle(int); 构造函数的实现: Circle::Circle(int rad):radius(rad) {} 或者: Circle::Circle(int rad) { radius=rad; } (2) 在类的定义体中增加成员函数定义的语句: void Print(); 函数的实现: void Circle::Print() { cout<<”The circle has radius of” <
【答案解析】