c++学习笔记:多态
1.多态:通常是指对于同一个消息、同一种调用,在不同的场合,不同的情况下,执行不同的行为--->重载便是简单的多态 ------->指同一个操作作用于不同的对象就会产生不同的响应; 多态性分为静态多态性和动态多态性 其中函数重载和运算符重载属于静态多态性, 虚函数属于动态多态性---->C++是依靠虚函数来实现动态多态的。 2.C++编译器根据传递给函数的参数和函数名决定具体要使用哪一个函数,称为联编: 1)在编译过程中进行的联编叫静态联编(static binding)或早期联编(early binding)。 2)在程序运行时完成,动态联编”(dynamic binding)也叫晚期联编(late binding)---->C++通过虚函数来实现动态联编 3.虚函数:vitual 1.与基类的虚函数有相同的参数个数; 2.与基类的虚函数有相同的参数类型; 3.与基类的虚函数有相同的返回类型。 注意点:1. 基类的成员函数定义为虚函数,那么,它在所有派生类中也保持为虚函数;即使在派生类中省略了virtual关键字,也仍然是虚函数。 2.构造函数不可为虚函数--->一旦为虚函数相当于重新,在构造子类时无法找到基类构造函数从而无法构造对象。 ( 1. 根据继承的性质,构造函数执行顺序是: A() B() 2. 根据虚函数的性质