如何用c++写一个抽象类
时间: 2023-07-20 18:12:33 浏览: 47
要在 C++ 中写一个抽象类,需要满足以下两个条件:
1. 至少有一个纯虚函数(没有实现),可以通过在函数声明的末尾加上“= 0”来定义纯虚函数。
2. 不能直接实例化该类,必须通过派生类来实现。
下面是一个抽象类的示例:
```c++
class Shape {
public:
virtual double area() = 0; // 纯虚函数
virtual double perimeter() = 0; // 纯虚函数
};
class Circle : public Shape {
public:
Circle(double r) : radius(r) {}
double area() { return 3.14 * radius * radius; }
double perimeter() { return 2 * 3.14 * radius; }
private:
double radius;
};
class Rectangle : public Shape {
public:
Rectangle(double l, double w) : length(l), width(w) {}
double area() { return length * width; }
double perimeter() { return 2 * (length + width); }
private:
double length;
double width;
};
```
在上面的示例中,`Shape` 是一个抽象类,它有两个纯虚函数 `area()` 和 `perimeter()`,没有实现。`Circle` 和 `Rectangle` 是它的两个派生类,它们实现了 `area()` 和 `perimeter()` 函数,并分别计算了圆和矩形的面积和周长。