协变返回类型(covariant return type) ,这意味着派生类的重载函数可以返回从被重载的函数的返回类型派生的类型。
如下面代码,注意D中VF返回类型是D*不是B*
class
B
... {
public:
virtual B* VF()
...{
//....
}
} ;
class D: public B
... {
public:
virtual D* VF()
...{
//....
}
} ;
... {
public:
virtual B* VF()
...{
//....
}
} ;
class D: public B
... {
public:
virtual D* VF()
...{
//....
}
} ;