全国咨询/投诉热线:400-618-4000

重载overload,覆盖override,重写overwrite这三者之间有什么区别?

更新时间:2020年06月15日14时40分 来源:传智播客 浏览次数:

重载overload,覆盖override,重写overwrite,这三者之间有什么区别?


答:

a. overload,将语义相近的几个函数用同一个名字表示,但是参数和返回值不同,这就是函数重载。

特征:相同范围(同一个类中)、函数名字相同、参数不同、virtual关键字可有可无。

b. override,派生类覆盖基类的虚函数,实现接口的重用。

特征:不同范围(基类和派生类)、函数名字相同、参数相同、基类中必须有virtual关键字(必须是虚函数)。

c. overwrite,派生类屏蔽了其同名的基类函数。

特征:不同范围(基类和派生类)、函数名字相同、参数不同或者参数相同且无virtual关键字。

推荐了解传智播客C/C++培训课程。





热门C/C++视频教程