1.如果重新定义基类中的方法,要确保新的方法和基类中的方法完全一样,除非返回类型是基类对象的引用或指针,可以修改为派生类的引用或者指针,这叫做返回类型协变,因为允许返回类型随类类型的变化而变化。
class A
{
public:
void func1() const;
A& funcA() const;
}
classB : public A
{
public:
void func1(int ) const; //会覆盖掉A类中的func1方法
B& funcA() const; //返回类型协变。
}
2.如果基类中的方法被重载了,那么派生类中则要全部重新定义基类中的方法。