定义一个Point类,派生出Rectangle和Circle类,计算个派生类对象的面积Area()。c++
时间: 2024-02-22 18:57:11 浏览: 93
以下一个简单的实现:
```c++
#include <iostream>
using namespace std;
class Point {
public:
Point(int x = 0, int y = 0) : x(x), y(y) {}
int getX() const { return x; }
int getY() const { return y; }
private:
int x, y;
};
class Rectangle : public Point {
public:
Rectangle(int x = 0, int y = 0, int w = 0, int h = 0) : Point(x, y), w(w), h(h) {}
int getW() const { return w; }
int getH() const { return h; }
double Area() const { return w * h; }
private:
int w, h;
};
class Circle : public Point {
public:
Circle(int x = 0, int y = 0, int r = 0) : Point(x, y), r(r) {}
int getR() const { return r; }
double Area() const { return 3.14 * r * r; }
private:
int r;
};
int main() {
Rectangle rect(0, 0, 5, 10);
Circle circle(0, 0, 5);
cout << "Rectangle Area: " << rect.Area() << endl;
cout << "Circle Area: " << circle.Area() << endl;
return 0;
}
```
在这个例子中,Point类表示一个二维点,Rectangle类和Circle类分别表示矩形和圆形。这两个类都继承自Point类,并且都有一个计算面积的方法Area()。在main函数中,我们创建了一个Rectangle对象和一个Circle对象,并分别调用它们的Area()方法来计算它们的面积。
阅读全文