虚函数的的原理及应用

本文详细介绍了C++中的虚函数,包括虚函数的概念、多态性、虚函数的实现机制(虚函数表和虚函数表指针)、虚析构函数的必要性、构造函数不能为虚函数的原因以及纯虚函数的作用。通过实例解析了虚函数在继承和多态中的应用,强调了虚函数在实现动态联编和接口规范中的重要性。
摘要由CSDN通过智能技术生成

1,虚函数的概念

虚函数是在类中被声明为virtual的成员函数,当编译器看到通过指针或引用调用此类函数时,对其执行晚绑定,即通过指针(或引用)指向的类的类型信息来决定该函数是哪个类的。通常此类指针或引用都声明为基类的,它可以指向基类或派生类的对象。


2,多态的概念

多态指同一个方法根据其所属的不同对象可以有不同的行为。

(1)校长说放假的例子,不同的人有不同的行为。

(2)小王毕业后,赚钱,买了一辆宝马开。



这种实现不科学





3,虚函数的实现机制(虚函数表和虚函数表指针)

一个类对象占多少个字节。


说到虚函数的实现方法,我们就不得不说到动态联编(dynamic binding)和静态联编(static binding)。静态联编意味着编译器能够直接将标识符和存储的物理地址联系在一起。每一个函数都有一个唯一的物理地址,当编译器遇到一个函数调用时,它将用一个机械语言说明来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值