Re[2]: LPVOID и вызов деструктора
От: aveSatanas  
Дата: 22.06.07 13:48
Оценка:
Здравствуйте, shnyaps, Вы писали:

S>Здравствуйте, aveSatanas, Вы писали:


S>>Доброе время суток.


S>>Пример:

S>>SomeClass * pClass = new SomeClass();
S>>LPVOID lpVoid = pClass;
S>>delete lpVoid;

S>>В этом случае деструктор класса не вызывается (деструктор виртуальный).

S>>Как можно сделать чтобы при удалении LPVOID вызывался деструктор класса?

S>а такой вариант подходит:


S>template<typename T>

S>void release(T* obj) {
S> delete obj;
S>}

S>class SomeClass {

S> int a;
S>public:
S> SomeClass() {};
S> ~SomeClass() {};
S>};

S>int main(void)

S>{
S> SomeClass* pClass = new SomeClass();
S> release(pClass);
S> return 0;
S>}
Да я думаю подходит. Я использую LPVOID для хранения значения в самописном листе.
Придется сделать типизированный лист на основе шаблонов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.