|
Ведь экземпляр этой функция будет создан для всех (!) без исключения классов, мною создаваемых. Правильно я понял?
П.С. Я с шаблонами-то не дружу. Объектно-озабоченные проги я на Object-Pascalе всю жизнь писал, а там шаблонов не водится.
П.СС: Вообще-то правильно такую функцию типа ParentOf(объект1, объект2), которая определяет, является ли объект1 наследником объекта2, в компилер встроить. Она бы была одна на все классы. А реализация ее простая: взять VMT объекта1 и начать просматривать все вышестоящие VMT (поскольку VMT имеет указатель на VMT класса-родителя). Просмотр закончить на этапе, когда при пробеге нашли VMT, которая есть VMT объекта2 (в этом случае возвращаем true), либо когда при пробеге всех вышестоящих VMT не нашли VMT объекта2 (возвращаем false).