父类函数为纯虚函数,可以通过此纯虚函数调用子类吗
时间: 2024-05-16 14:16:24 浏览: 74
Java中父类怎么调用子类的方法
纯虚函数在父类中没有实现,需要在子类中进行实现。在子类中实现纯虚函数后,可以通过父类的指针或引用调用该函数,从而实现调用子类中的函数。
例如,假设有一个纯虚函数 `virtual void foo() = 0;` 在父类中定义,然后在子类中重写该函数,例如:
```c++
class Parent {
public:
virtual void foo() = 0;
};
class Child : public Parent {
public:
void foo() override {
std::cout << "Child::foo() called" << std::endl;
}
};
```
那么可以通过父类的指针或引用调用子类的函数,例如:
```c++
int main() {
Child child;
Parent* ptr = &child;
ptr->foo(); // 输出 "Child::foo() called"
return 0;
}
```
因此,通过父类的纯虚函数可以调用子类的函数,但需要注意的是,父类的纯虚函数必须在子类中被实现才能被调用。
阅读全文