多态性和虚函数

本文详细介绍了C++中的多态性,主要通过动态联编和静态联编来区分,动态多态性主要依赖虚函数实现。虚函数允许在运行时根据对象的实际类型调用相应的函数实现,而纯虚函数则是抽象类定义的一部分,用于强制派生类提供实现。文章还讨论了抽象类的角色和使用规则。
摘要由CSDN通过智能技术生成
1、静态联编和动态联编   

  在c++中,多态性主要是通过函数名重载实现的。重载函数是指程序中对同名函数进
行调剁时,编译器会根据函数参数的类型和个数,决定该调用哪一段函数代码来处理这个
函数凋蝴。这种把函数调用与适当的函数代码相对应的动作称为联编(binding)。
    联编分为静态联编和动态联编。在编译阶段决定执行哪个同名的被调用函数,这称为
静态联编;而在编译阶段不能决定执行哪个同名的被调用函数,只在执行阶段才能依据要
处理的对象类型来决定执行哪个类的成员函数,这称为动态联编。
    多态性也分为静态和动态两种。静态多态性是指定义在一个类或一个函数中的同名函
数,它们可根据参数表(类型及个数)区别语义,并通过静态联编实现,例如在一个类中
定义的不同参数的构造函数以及运算符重载函数等。这些内容已经在本书前面几章介绍过,
本章不再讨论。动态多态性是指定义在一个类层次的不同类中的重载函数,它们一股具有
相同的参数表,因而要根据指针指向的对象所在类来区别语义,它通过动态联编实现。

 

2、声明虚函数的方法如下:

    virtual 类型声明符 函数名(参数表)
其中,被关键词virtual声明的函数称为虚函数。
    如果某类中的一个成员函数被声明为虚函数,这就意味着该成员函数在派生类中可能
有不同的实现。当使用这个成员函数操作指针或引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值