override和overwrite的区别
时间: 2024-06-09 22:08:52 浏览: 261
重写(override)和重载(overload)的区别
覆盖(override)和覆写(overwrite)是面向对象编程中的两个概念。
覆盖(override)是指派生类中重新定义了基类的虚函数,使得在运行时调用派生类中的函数而不是基类中的函数。覆盖的特征包括:函数名字相同、参数相同、范围位于派生类和基类之间、基类函数必须有virtual关键字。
覆写(overwrite)是指在派生类中重新定义了基类的非虚函数,使得在编译时调用派生类中的函数而不是基类中的函数。覆写的特征是:函数名字相同、参数相同,但没有范围限制。
因此,覆盖和覆写的主要区别在于是否涉及到虚函数的重定义(即是否使用了virtual关键字)以及对范围的限制。
阅读全文