информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСтрашный баг в WindowsПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование 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()
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach