重载:表示在同一个作用域内,具有相同名字的函数,它们返回值相同,但参数列表个数不同(类型不同or个数不同)
重写:表示在不同类中(A,B类中,A属于基类,B属于子类)重写的前提条件是B必须继承基类AB想要使用基类A中的某个函数,但函数中功能有些改变,那么在继承了基类A后,可以在B类中用定义相同函数名,其中返回值,参数列表中类型个数必须相同,若不同则属于不同方法中的重载。
区别:重载的作用是对于不同类型,不同操作数欲实现类似操作的函数定义
重写的作用是对于某一个父类函数,子类欲在其自己类中继承不同操作的同一函数
重载属于多态中的静态绑定(编译时绑定)
注意:
1.如果在基类和父类中发生 “ 重载 ” 那么基类中的函数会被隐藏
2.如果在基类和父类中发生 “ 重写” 但是基类函数没有virtual 关键字,此时基类函数会被隐藏。
第二点也可以理解为若是基类父类发生重写,若要实现多态,需要在父类函数添加virtual关键字。