c++两个类point和figure派生一个形状类
时间: 2023-10-21 08:05:40 浏览: 41
好的,我可以为您提供一个基本的Point类和Figure类的定义,然后从这两个类派生形状类:
```c++
class Point {
public:
Point(double x, double y): x_(x), y_(y) {}
double getX() const { return x_; }
double getY() const { return y_; }
private:
double x_;
double y_;
};
class Figure {
public:
virtual void draw() const = 0;
virtual double area() const = 0;
virtual double perimeter() const = 0;
};
```
然后,我们可以从Figure类派生出各种形状类,例如矩形类:
```c++
class Rectangle: public Figure {
public:
Rectangle(const Point& a, const Point& b);
void draw() const override;
double area() const override;
double perimeter() const override;
private:
Point a_;
Point b_;
};
```
这里我们使用点a和点b来定义矩形。您可以根据需要添加其他形状类,并在每个类中实现适当的方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)