1. 基本概念
virtual
关键字用于声明在基类中的函数为虚函数,允许在派生类中被重写,以实现多态性。
示例代码:
class Base {
public:
virtual void show() {
std::cout << "Base class show" << std::endl;
}
};
class Derived : public Base {
public:
void show() override {
std::cout << "Derived class show" << std::endl;
}
};
2. 动态绑定
动态绑定是指在程序运行时而不是在编译时决定调用哪个函数的机制。当使用指针或引用调用虚函数时,会根据对象的实际类型来调用相应的函数。
示例代码<