c++抽象类如何调用虚函数
时间: 2024-05-30 22:05:14 浏览: 226
用C++实现虚函数
5星 · 资源好评率100%
在C++中,抽象类是一种不能被实例化的类,它主要用于定义接口和规范子类的行为。抽象类中可以包含纯虚函数,这些函数没有具体的实现,需要在子类中进行实现。
要调用抽象类中的虚函数,需要通过子类的对象来实现。首先,子类必须继承抽象类,并且实现抽象类中的纯虚函数。然后,可以通过抽象类的指针或引用来调用虚函数。
下面是一个示例代码:
```cpp
#include <iostream>
// 抽象类
class AbstractClass {
public:
// 纯虚函数
virtual void virtualFunction() = 0;
};
// 子类
class ConcreteClass : public AbstractClass {
public:
void virtualFunction() override {
std::cout << "调用了子类的虚函数" << std::endl;
}
};
int main() {
ConcreteClass obj; // 子类对象
AbstractClass* ptr = &obj; // 抽象类指针指向子类对象
ptr->virtualFunction(); // 调用抽象类的虚函数
return 0;
}
```
在上面的代码中,抽象类`AbstractClass`定义了一个纯虚函数`virtualFunction()`,子类`ConcreteClass`继承了抽象类并实现了该纯虚函数。在`main()`函数中,我们创建了子类对象`obj`,并将抽象类指针`ptr`指向子类对象。通过抽象类指针调用虚函数`virtualFunction()`,实际上会调用子类的实现。
阅读全文