运用c++定义一个Point类,派生出Rectangle和Circle类,计算个派生类对象的面积Area()。 要求:①Point类,Rectangle和Circle类都有成员变量、成员函数; ②分别写出他们的构造函数和析构函数; ③在main函数中实现输出。 ④力争做到数据输入输出的直观性。
时间: 2024-02-18 18:02:27 浏览: 90
好的,以下是代码实现:
```
#include<iostream>
using namespace std;
const double pi = 3.1415926;
class Point {
public:
Point(double x, double y) {
this->x = x;
this->y = y;
}
~Point() {}
protected:
double x;
double y;
};
class Rectangle : public Point {
public:
Rectangle(double x, double y, double w, double h) : Point(x, y) {
this->w = w;
this->h = h;
}
~Rectangle() {}
double Area() {
return w * h;
}
protected:
double w;
double h;
};
class Circle : public Point {
public:
Circle(double x, double y, double r) : Point(x, y) {
this->r = r;
}
~Circle() {}
double Area() {
return pi * r * r;
}
protected:
double r;
};
int main() {
double x, y, w, h, r;
cout << "请输入矩形的左下角坐标(x, y)和宽高(w, h):" << endl;
cin >> x >> y >> w >> h;
Rectangle rect(x, y, w, h);
cout << "矩形的面积为:" << rect.Area() << endl;
cout << "请输入圆的圆心坐标(x, y)和半径(r):" << endl;
cin >> x >> y >> r;
Circle circle(x, y, r);
cout << "圆的面积为:" << circle.Area() << endl;
return 0;
}
```
在这个程序中,Point类表示一个点,Rectangle类和Circle类都继承自Point类,表示一个矩形和一个圆。每个类都有自己的成员变量和成员函数,Rectangle类和Circle类都有一个计算面积的函数Area()。
在main函数中,我们先输入矩形和圆的参数,然后创建Rectangle对象和Circle对象,并调用它们的Area()函数计算面积并输出。
阅读全文