根据矩形类Creatangle,设计正方形类
时间: 2024-09-26 14:16:56 浏览: 37
创建一个正方形类可以从矩形类`Rectangle`派生,因为正方形是特殊的矩形,其所有边长相等。我们可以定义一个新类`Square`,并重写或继承矩形类中的必要的属性(如边长)以及方法(如计算面积和周长)。以下是一个简单的示例:
```cpp
// 假设我们已经有了一个Rectangle类,包含长度和宽度属性
class Rectangle {
public:
double length;
double width;
// 构造函数
Rectangle(double l, double w) : length(l), width(w) {}
// 面积和周长的方法
double area() { return length * width; }
double perimeter() { return 2 * (length + width); }
// 其他可能的方法...
};
// 现在创建正方形类Square,它是Rectangle的特殊实例
class Square : public Rectangle {
private:
// 只有一个边长,所以省略width,但保留length,因为我们仍然可以用它来表示对角线或其他用途
double side; // 边长
public:
// 使用side初始化构造函数
Square(double s) : side(s) { width = side; }
// 如果需要,提供一个只接受边长的构造函数
Square(double side_length) : side(side_length), width(side_length) {}
// 正方形的面积和周长直接使用side计算
double area() override { return side * side; } // 使用override标记这是对基类方法的覆盖
double perimeter() override { return 4 * side; } // 因为四条边都是side长度
// 可能还需要其他特定于正方形的方法,比如检查是否为完美正方形...
};
```
阅读全文