虚函数表
虚函数表的工作原理
虚函数表的基本结构
#include <iostream>
class Base {
public:
virtual void func1() {
std::cout << "Base::func1" << std::endl;
}
virtual void func2() {
std::cout << "Base::func2" << std::endl;
}
};
class Derived : public Base {
public:
void func1() override {
std::cout << "Derived::func1" << std::endl;
}
void func2() override {
std::cout << "Derived::func2" << std::endl;
}
};
int main() {
Base *b = new Derived();
b->func1(); // 输出:Derived::func1
b->func2(); // 输出:Derived::func2
delete b;
return 0;
}虚函数表的特点
虚函数表的内存布局
多继承和虚函数表
Last updated