深入理解静态绑定,动态绑定及虚函数实现机制

目录

静态绑定和动态绑定

虚函数实现机制


静态绑定和动态绑定

静态绑定和动态绑定实际上是针对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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值