定义一个Point类,派生出Circle类,计算派生类对象的面积。
提示
(1)Point类有两个私有数据成员,即点的X和Y坐标,成员函数包括:构造函数、取坐标值函数GetX()和GetY()。
(2)Circle类继承了Point类的点坐标之外,增加一个私有数据成员,即圆形的半径R,成员函数包括构造函数、取半径值函数GetR()、求面积函数Area()
测试输入1
0 0 1↵
期待输出1
圆心位于(0,0)半径为1的圆形面积是3.14↵
#include <iostream>
using namespace std;
const double pi = 3.14;
class Point {
protected:
double X;
double Y;
public:
Point(double x, double y)
:X(x),Y(y)
{}
double GetX() const { return X; }
double GetY() const { return Y; }
};
class Circle :public Point {
private:
double R;
public:
Circle(double x, double y, double r) :
Point(x,y),R(r)
{}
double GetR() const { return R; }
double Area() { return pi * R*R; }
};
int main() {
double x;
double y;
double r;
cin >> x >> y >> r;
Circle c(x,y,r);
cout << "圆心位于(" << c.GetX() << "," << c.GetY() << ")"
<< "半径为" << c.GetR() << "的圆形面积是" << c.Area() << endl;
return 0;
}