C++中的抽象类是指含有纯虚函数的类,它不能被实例化,只能被继承。抽象类用于定义一个接口,具体的实现由派生类完成。
抽象类的定义通常包括以下几个步骤:
1. 声明一个抽象类,使用关键字"class"或"struct",并在类名后面加上"= 0"来声明一个纯虚函数。例如:
```cpp
class AbstractClass {
public:
virtual void pureVirtualFunction() = 0;
};
```
2. 在派生类中实现纯虚函数。派生类必须实现抽象类中的纯虚函数,否则派生类也会变成抽象类。例如:
```cpp
class ConcreteClass : public AbstractClass {
public:
void pureVirtualFunction() {
// 实现纯虚函数的具体代码
}
};
```
抽象类的使用步骤如下:
1. 创建抽象类的指针。
2. 使用派生类的对象来初始化指针。
3. 通过指针调用抽象类中的纯虚函数。
例如:
```cpp
AbstractClass* abstractObj = new ConcreteClass();
abstractObj->pureVirtualFunction();
```
需要注意的是,抽象类不能被直接实例化,只能通过指针或引用的方式来使用。