最近 要用到 C++中虚函数的功能,为此特地去查看了相关的 重载与覆盖问题。
1、C++ 中的覆盖 要求 两个函数的 函数名 参数列表 返回值类型完全相同, 且必须分别在子类与父类中,否则会报错,表示重复定义。(其实也可算是一种隐藏)
1、C++ 中的覆盖 要求 两个函数的 函数名 参数列表 返回值类型完全相同, 且必须分别在子类与父类中,否则会报错,表示重复定义。(其实也可算是一种隐藏)
2、C++ 中的重载 要求 两个函数的 函数名相同 参数列表 必须不同, 对于返回值的类型没有要求,相同也行,不同也行。
且 类中的重载是同一个类中不同成员函数之间的关系。
3、C++ 中 当父类与子类中有同名函数 但参数列表不同或返回值类型不同时,会发生隐藏,而并不是重载,这一点与Java 中不同。
可以使用 ::操作符访问被隐藏的父类的成员函数。