1.重载函数OVERLOAD是在同一个类中的相同函数名的函数,他们必须有形参不同(顺序或者个数,或者类型不同),返回值是否相同无所谓,只有返回值不同,则不构成重载;
2.override覆盖,派生类函数覆盖基类函数,使得指向派生类的基类指针只能调用派生类定义的函数,那个由基类定义的同名函数不能被调用。(两个函数名字与参数都相同,基类函数是virtual的-------派生类的virtual可以省略);
3.overwrite重写,派生类的函数屏蔽了与其同名的基类函数。
(函数同名,但参数不同,则无论是否virtual,基类函数被隐藏;
函数同名,且参数相同,基类没有virtual,则基类函数被隐藏)
4.重写的结果是隐藏,隐藏的结果是派生类无法调用同名的基类函数,只能由指向派生类的基类对象调用。所以这两个类之间的同名函数只能有一个函数存在于一个对象当中,同名函数之间无法实现重载。
5.在子类中继续定义与父类相同的函数,参数不同,在子类中这些函数就是重载的关系。
重载重写覆盖隐藏
最新推荐文章于 2022-04-28 22:17:30 发布