重载覆盖

Posted hshy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重载覆盖相关的知识,希望对你有一定的参考价值。

1.定义区别:

①重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。

②覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。

2.类的关系区别

覆盖是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水平关系。

 

C++的子类函数如果和父类函数名相同,但是参数不同,是不是会覆盖父类的函数呢 会

 

2.构造函数是保护

CMyDoc
CMyFrame
CMyView

这些类都不能让你直接实例化而是由系统调用所以constructor设成protected。

以上是关于重载覆盖的主要内容,如果未能解决你的问题,请参考以下文章

Java中的方法覆盖(Overriding)和方法重载(Overloading)是啥意思?

重载隐藏覆盖的区别

重载和覆盖

重写(覆盖,Override)和重载(Overload)的区别

覆盖(重写)重载。

方法重载和覆盖有啥区别? [复制]