用c/c++写一个虚函数的类
时间: 2024-03-29 11:40:04 浏览: 40
以下是用C++语言编写一个带有虚函数的类的示例代码:
```cpp
class Shape {
public:
virtual double getArea() = 0; // 纯虚函数,必须被继承类实现
virtual double getPerimeter() = 0; // 纯虚函数,必须被继承类实现
};
class Rectangle : public Shape {
public:
Rectangle(double width, double height) : m_width(width), m_height(height) {}
double getArea() override { return m_width * m_height; }
double getPerimeter() override { return 2 * (m_width + m_height); }
private:
double m_width;
double m_height;
};
class Circle : public Shape {
public:
Circle(double radius) : m_radius(radius) {}
double getArea() override { return 3.14 * m_radius * m_radius; }
double getPerimeter() override { return 2 * 3.14 * m_radius; }
private:
double m_radius;
};
```
在上面的代码中,`Shape` 类是一个抽象类,它包含两个纯虚函数 `getArea()` 和 `getPerimeter()`,这两个函数必须被继承类实现。`Rectangle` 和 `Circle` 类都继承自 `Shape` 类,并实现了 `getArea()` 和 `getPerimeter()` 函数。注意,在 `Rectangle` 和 `Circle` 类中,我们使用 `override` 关键字来明确地告诉编译器这是对基类函数的覆盖。