* C++多态分为编译时多态和运行时多态.
* 编译时多态通过函数或操作符的重载来实现
* 运行时多态通过虚函数(包括纯虚函数)来实现
* 关键字virtual可用于function declaration或class declaration.
* 关键字virtual修饰函数时声明虚函数.
* 关键字virtual修饰类时声明虚基类(virtual base class). 虚基类的作用是节省空间, 避免重复和二义性, 和多态没有关系.
* 抽象类(abstract class) = 含有纯虚函数(pure virtual function)的类(不管是自己声明的还是继承的)
总结起来就是:
对所有的函数, 不定义=>不能调用;
对纯虚函数: 不定义=>该类不能实例化;
对非纯的虚函数: 不定义=>该类及其派生类都不能实例化
c++ 中的多态
最新推荐文章于 2024-07-29 13:48:22 发布