информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft прикрывает Visual Studio... 
 Умер Кевин Митник 
 Массовое внедрение вредоносного... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[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()
1




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


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