четверг, 9 августа 2007 г.

Шаблонная виртуальность (Parameterized Virtuality)

Помимо использования С++ интересно использовать трюки, которые позволяет этот язык. Одним из таких трюков является Parameterized Virtuality(C++ Templates: The Complete Guide By David Vandevoorde, Nicolai M. Josuttis).

Параметризированная виртуальность позволяет указывать будет ли использоваться механизм виртуальных функций при работе с иерархией классов.

Для этого использутся два класса:

Далее, определяется базовый класс иерархии:

И класс наследник:

Теперь, при использовании класса derived мы можем указать, использовать ли виртуальность. Это делается следующим образом:

Комментариев нет: