C++的动态多态中的虚函数

本文探讨了C++中的多态性,包括静态多态(通过模板实现)和动态多态(主要涉及派生类和虚函数)。动态多态强调了虚函数在继承中的关键作用,即使在基类指针调用时也能实现不同类对象的功能。建议在成熟代码中使用基类指针调用虚函数,以实现同一接口调用不同模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++的多态是由两种,一种是静态多态,一种是动态多态。

静态多态的实现原理是通过类的模板去实现。

动态多态常用的由两种。一种是派生类(父子的实现),一种是虚函数(virtual)。

在我看来这两种实际上并不是一种等级,虚函数是派生类中的一种功能。

我们都知道C++的继承是如何实现的,比如 (class a:public b),就说b是a的子类。

工作中常用的动态多态:

        1)如果父类中某一个函数是虚函数,那么他子类中的相同的函数也默认为虚函数,不管你是否会添加virtual

        2)实例化的对应并不会对虚函数起作用,

        3)基类的指针在操作他的多态类对象时,会根据不同的类对象,调用其相应的虚函数

如果是一个成熟的代码。我们会将基类中定义一个虚函数,但并不会去实现它。然后统一使用基类的指针来创建、调用他的子类对象,这样我们就能够用同一个接口去调用不同的模块。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值