允许将子类类型的指针赋值给父类类型的指针
静态多态 重载overload,允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同) 泛型编程,模板之类的
动态多态 覆盖override,子类重新定义父类的虚函数