Вызов виртуального метода для класса
От: Chez Россия  
Дата: 19.10.04 07:24
Оценка: :)
Есть класс наследованный от CObject. Нужно вызвать виртуальный метод этого класса, не имея экземпляра класса (этот метод не использует this). Как это сделать?

Понимаю, что нужно каким-то образом получить vtbl этого класса и найти в нём смещение нужного метода... Но вот как?

А нужно что-то вроде:
class CAssert
{
public:
    template<class class_name, class objectT>
    void KindOf(objectT* pObject)
    { ASSERT(pObject->IsKindOf( ((class_name*)NULL)->GetRuntimeClass() )); }
                                        // только это не работает
};


Помогите плз
Chez, ICQ# 161095094
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.