重写:如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。被覆盖的函数必须是虚(virtual)的,或者是动态(dynamic)的。
重载:如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
隐藏:基类和派生类中有相同的函数名,但参数不同。并且基类中函数没有virtual标识符