qt a类的纯虚函数,b类继承a类,重写a类虚函数后 在别的类怎么调用
时间: 2024-03-29 21:16:40 浏览: 44
在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数。下面就是一个例子:
5星 · 资源好评率100%
在别的类中调用重写后的纯虚函数,需要通过指向子类对象的基类指针或引用来调用。因为纯虚函数没有具体的实现,只有在子类中实现后才能被调用。
例如,假设有以下的A类和B类:
```c++
class A {
public:
virtual void foo() = 0; // 纯虚函数
};
class B : public A {
public:
void foo() override {
std::cout << "B::foo()" << std::endl;
}
};
```
现在在别的类中调用B类中重写后的纯虚函数foo(),可以这样实现:
```c++
B b;
A* ptr = &b; // 使用基类指针指向子类对象
ptr->foo(); // 调用重写后的纯虚函数
```
或者这样实现:
```c++
B b;
A& ref = b; // 使用基类引用指向子类对象
ref.foo(); // 调用重写后的纯虚函数
```
这两种方法都会调用B类中重写后的foo()函数。
阅读全文