多态

有多种解释方法

比如,运算符重载、函数重载

虚函数

根据所指对象来调用函数

  1. 纯虚函数

没有函数体{},而是用“ = 0 ”代替,表明是纯虚函数

  1. 带有纯虚函数的类叫抽象类

不能创建抽象类对象,只能用作基类

  1. 基类中声明了虚函数,在派生类中同样的函数也会自动变成虚函数

  2. 动态联编

编译时不确定调用哪个函数,而是在程序运行时才决定调用哪个类中的函数

  1. 存储空间

含虚函数的对象在存储时多四个字节,用于存储虚函数表的地址。在运行时找到虚函数表,决定调用哪个函数。不同类对应不同的虚函数表

  1. 构造函数和静态函数不能是虚函数,即它们不是多态