多态
有多种解释方法
比如,运算符重载、函数重载
虚函数
根据所指对象来调用函数
- 纯虚函数
没有函数体{},而是用“ = 0 ”代替,表明是纯虚函数
- 带有纯虚函数的类叫抽象类
不能创建抽象类对象,只能用作基类
-
基类中声明了虚函数,在派生类中同样的函数也会自动变成虚函数
-
动态联编
编译时不确定调用哪个函数,而是在程序运行时才决定调用哪个类中的函数
- 存储空间
含虚函数的对象在存储时多四个字节,用于存储虚函数表的地址。在运行时找到虚函数表,决定调用哪个函数。不同类对应不同的虚函数表
- 构造函数和静态函数不能是虚函数,即它们不是多态