- 重载overload:函数名相同,参数不同的函数(但不能通过返回值实现重载)
- 重写override:(可以理解重覆盖) 子类重新定义,父类中有‘相同名称’和‘参数’的虚函数(virtual); 是实现“多态的手段”
- 重定义redefining: 将父类中同名的函数隐藏(参数表可以不同)
总结:
- "函数重载"发生在类(/命名空间)内
- "重写/虚函数"是"多态性"的实现方法,发生在继承和派生的关系中
- "重定义"只是子类和父类有同名函数,父类函数需要使用"静态调用"如:Base::fun()
本文详细解析了C++编程语言中的重载、重写与重定义概念,包括它们各自的适用场景和区别。重载允许同一个函数名在类内部有不同的参数列表;重写则是在继承关系中子类覆盖父类的虚函数来实现多态;而重定义则是子类中声明与父类相同的函数名,但参数列表可以不同。
总结:
- "函数重载"发生在类(/命名空间)内
- "重写/虚函数"是"多态性"的实现方法,发生在继承和派生的关系中
- "重定义"只是子类和父类有同名函数,父类函数需要使用"静态调用"如:Base::fun()
1160
449

被折叠的 条评论
为什么被折叠?