Если кто не понял (как и я), что там написано, то covariant переводится как "соизменимый", в общем тип возвращаемого значения можно менять на наследника:
class A {
virtual A *self() {
return this;
}
}
class B : A {
virtual B *self() { // covariant return type
return this;
}
}
Если кто не понял (как и я), что там написано, то covariant переводится как "соизменимый", в общем тип возвращаемого значения можно менять на наследника:
class A {
virtual A *self() {
return this;
}
}
class B : A {
virtual B *self() { // covariant return type
return this;
}
}