если вы видите этот текст, отключите в настройках форума использование JavaScript
Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания .
Новичкам также крайне полезно ознакомиться с данным документом .
[C++] Covariant function? 06.07.05 13:09
Автор: tatar_0x4e Статус: Member
Намедни у меня спросили что есть covariant function в C++... Слышу первый раз в жизни. Кто встречал такое понятие?
[C++] Ковариантное возвращаемое значение [update] 06.07.05 13:36
Автор: amirul <Serge> Статус: The Elderman Отредактировано 06.07.05 13:44 Количество правок: 2
> Намедни у меня спросили что есть covariant function в > C++... Слышу первый раз в жизни. Кто встречал такое > понятие?
http://sern.ucalgary.ca/courses/SENG/609.03/W98/Abadi/AbadiCh2.html#2.6
Если кто не понял (как и я), что там написано, то covariant переводится как "соизменимый", в общем тип возвращаемого значения можно менять на наследника:
class A {
virtual A *self() {
return this;
}
}
class B : A {
virtual B *self() { // covariant return type
return this;
}
}
При этом
A *pa = new B;
pa->self();
вызовет именно B::self()