Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |
[C++] Ковариантное возвращаемое значение [update] 06.07.05 13:36 Число просмотров: 1991
Автор: 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()
|
<programming>
|
[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()
|
|
|