如何在类外使用抽象类
时间: 2024-06-17 15:05:49 浏览: 20
抽象类是一种特殊的类,它不能被直接实例化,只能被用作其他类的基类。在抽象类中,可能包含纯虚函数,这些函数没有具体的实现,需要在派生类中进行实现。如果一个类继承了抽象类,那么它必须实现所有的纯虚函数,否则它也会变成抽象类。在类外使用抽象类,需要先定义一个继承了抽象类的具体派生类,并实现所有的纯虚函数,然后可以通过该派生类的对象来访问抽象类中定义的非纯虚函数。下面是一个使用抽象类的示例代码:
```c++
#include <iostream>
using namespace std;
// 抽象类
class Shape {
public:
// 纯虚函数
virtual double getArea() = 0;
// 非纯虚函数
void printArea() {
cout << "Area: " << getArea() << endl;
}
};
// 派生类
class Rectangle : public Shape {
public:
Rectangle(double w, double h) : width(w), height(h) {}
double getArea() {
return width * height;
}
private:
double width;
double height;
};
int main() {
Shape* shape = new Rectangle(3.0, 4.0);
shape->printArea(); // 输出:Area: 12
delete shape;
return 0;
}