一、多态性概述
面向对象的多态性可以分为4类:重载多态、强制多态、包含多态和参数多态。前面两种统称为专用多态,而后面两种称为通用多态。
包含多态是类族中定义于 不同类中的 同名成员函数 的多态行为,主要是通过虚函数来实现。
多态的实现
多态从实现的角度来讲可以划分为两类:编译时的多态和运行时的多态。
绑定是指计算机程序自身彼此关联的过程,就是把一条消息和一个对象的方法相结合的过程。绑定工作在编译连接阶段完成的情况称为静态绑定;绑定工作在程序运行阶段完成的情况称为动态绑定。
二、运算符重载
运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。
运算符重载的实质就是函数重载。
运算符重载的规则
规则如下:
- ++中的运算符除了少数几个之外,全部可以重载,而且只能重载C++中已经有的运算符。
- 重载之后运算符的优先级和结合性都不会改变。
- 重载的功能应当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义类