重写重载重定义的区别

//重写的两种情况
//如果函数重写,在父类中增加了virtual关键字, 将能产生多态, 叫重写
//如果函数重写,没有加virtual关键字,,相当于在子类中重定义,不会发生多态。。。

会发生多态的叫重写,不重发生多态的叫重定义,重写(重定义)一定是发生在两个类的情况下,而重载一定是发生在同一个类中.

还有一种现象值得注意,

当子类与父类函数重名(非virtual关键字,非多态情况),只是由于参数不同而引起的看似重载的现象,在这里并没有发生重载,

发生的只是子类的同名函数将覆盖父类同名函数而已.

如果非要调用父类的同名函数,可以使用[子类对象].[父类名]::[同名函数]

原文地址:https://www.cnblogs.com/c-slmax/p/5189284.html