August 14th, 2010

Ковариантные возвращаемые типы

Есть в C++ такая фича. Допустим, есть класс с виртуальным методом, возвращающим указатель на себя. Наследуясь от него, можно переопределить этот метод, причем в качестве возвращаемого типа допустимо использование указателя на производный класс. Этот механизм называется ковариантными возвращаемыми типами. Каноническим примером послужит метод clone, создающий копию объекта в куче и возвращающий указатель на него. Примерно так это может выглядеть:
 

Collapse )

  • Current Music
    ERA - [Era Classics #06] Malher + Adagieto + 5th Symphony