定义一个点类,矩形类,长方体类,其中点类派生了矩形类,矩形类派生了长方体类要求每个类设计构造函数,点类中添加成员函数能够计算任意两点的距离,矩形类能够计算面积和周长,长方体类能够计算体积和表面积。 用c++做一个示例
时间: 2024-11-18 09:14:20 浏览: 11
定义一个矩形类可算体积
在C++中,我们可以创建一个基本的类结构来满足您的需求。首先,我们定义`Point`类作为基础,然后让`Rectangle`从`Point`继承,并最后让`Cube`从`Rectangle`继承。以下是简单的代码示例:
```cpp
#include <cmath> // 包含数学库,用于计算距离、面积、周长和体积
class Point {
public:
double x;
double y;
// 构造函数
Point(double x = 0.0, double y = 0.0) : x(x), y(y) {}
// 计算两点之间的距离
double distance(const Point& other) const {
return std::sqrt(std::pow(other.x - this->x, 2) + std::pow(other.y - this->y, 2));
}
};
// 矩形类,从Point派生并添加面积和周长计算
class Rectangle : public Point {
public:
double width;
double height;
// 构造函数
Rectangle(double x = 0.0, double y = 0.0, double width = 0.0, double height = 0.0)
: Point(x, y), width(width), height(height) {}
// 计算面积和周长
double area() const { return width * height; }
double perimeter() const { return 2 * (width + height); }
};
// 长方体类,从Rectangle派生并添加体积和表面积计算
class Cube : public Rectangle {
public:
double side;
// 构造函数
Cube(double x = 0.0, double y = 0.0, double width = 0.0, double height = 0.0, double side = 0.0)
: Rectangle(x, y, width, height), side(side) {}
// 计算体积和表面积
double volume() const { return side * side * side; }
double surfaceArea() const { return 6 * side * side; }
};
阅读全文