目录
静态绑定和动态绑定实际上是针对C++动多态机制而言的。所谓的绑定指的是函数的绑定,对于静态绑定,其函数的地址是在编译时期就已经确定了,而动态绑定是在运行时期才能确定,在汇编层次实际上是call一个寄存器。静态绑定也是对非虚函数的绑定,动态绑定是对虚函数的绑定。
什么是虚函数?对于类的成员方法在其前面加上virtul关键字进行修饰,那么该成员函数就变成了虚函数。先看一下代码:
class Base {
public:
Base(int data) :_data(data) {}
void show() {cout << "Base show()" << endl;}
private:
int _data;
};
class Derive :public Base {
public:
Derive(int data) :Base(data), _datab(data) {};
void show() { cout << "Derive show()" << endl; }
private:
int