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