在C++中,多态性主要是通过函数重载实现的。重载函数是指程序中对同名函数进行调用时,编译器会根据函数参数的类型和个数,决定该调用哪一段函数代码来处理这个函数调用。这种把函数调用与适当的函数代码相对应的动作,叫做联编。
联编分为静态联编和动态联编。
在编译阶段决定执行哪个同名的被调用函数,称为静态联编。
在编译阶段不能决定执行哪个同名的被调用函数,只在执行阶段才能依据要处理的对象类型来决定执行哪个类的成员函数,这称为动态联编。
多态性也分为静态和动态两种。静态多态性是指定义在一个类或一个函数中的同名函数,它们可根据参数表(类型及个数)区别语义,并通过静态联编实现,例如在一个类中定义不同参数的构造函数以及运算符的重载等。动态多态性是指定义在一个类层次的不同类中的重载函数,它们一般具有相同的参数表,因而要根据指针指向的对象所在类来区别语义,它通过动态联编实现。
例:
class Point
{
public:
Point(double i,double j)
{
x = i;
y = j;
}
double Area() con