更新时间:2020年06月15日14时40分 来源:传智播客 浏览次数:
重载overload,覆盖override,重写overwrite,这三者之间有什么区别?
答:
a. overload,将语义相近的几个函数用同一个名字表示,但是参数和返回值不同,这就是函数重载。
特征:相同范围(同一个类中)、函数名字相同、参数不同、virtual关键字可有可无。
b. override,派生类覆盖基类的虚函数,实现接口的重用。
特征:不同范围(基类和派生类)、函数名字相同、参数相同、基类中必须有virtual关键字(必须是虚函数)。
c. overwrite,派生类屏蔽了其同名的基类函数。
特征:不同范围(基类和派生类)、函数名字相同、参数不同或者参数相同且无virtual关键字。
推荐了解传智播客C/C++培训课程。