C++之虚函数

最近在看C++相关的内容,一直以来对这个知识点都是感到有些困惑的。直到今天在网上看到了这篇文章,思路变得清晰了很多,在这里记录之。虚函数是C++实现多态的重要机制。有了这种机制,我们将很多不需要过早在父类中实现的功能都推迟到继承类中来实现,并且通过父类的指针来统一调用,在运行的时候确定我们具体是调用父类的函数还是子类的函数。从用户的角度来看,提供这样的机制,使得我们可以调用相同的接口来实现不同的调用。

学习C++的人都知道,一旦一个函数实现了一个虚函数,则这个类的任何实例都必须维护一个虚函数表(V-Table)。当有一个类继承基类时,这个虚函数函数也会被继承。并且在继承类中,几重继承就会维护几个虚函数表。在继承类中新定义的虚函数放在第一个虚函数的后面,不用单独再维护一个新的虚函数表(但是新定义的虚函数不能用基类的指针来调用,因为在基类中没有这样的函数)。当基类的虚函数被重新定义时,基类的虚函数就会被覆盖。


简单记录之,具体详细的解释可参考

http://www.cnblogs.com/chinazhangjie/archive/2012/07/11/2586535.html。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值