Re[4]: Инициализация указателя на функцию другого класса
От: golova_  
Дата: 11.09.04 13:10
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:

АШ>Здравствуйте, golova_, Вы писали:


_>>Здравствуйте, Анатолий Широков, Вы писали:


АШ>>>
АШ>>>class CTest; // forward declaration
АШ>>>class CQuery
АШ>>>{
АШ>>>public:
АШ>>>        void (CTest::*pFunc)(int);
АШ>>>        CTest *prt;

АШ>>>        void Notify()
АШ>>>        {
АШ>>>              (ptr->*pFunc)(0);
АШ>>>        }
АШ>>>};
АШ>>>


_>>К сожалению из файла query.h (класс CQuery) не видать файл test.h, в test.h есть include "query.h".


АШ>Так этого и не надо. То что Вам нужно — это forward declaration. И никаких инклудов делать не надо.


Спасибо большое! Заработало.
А вот тут еще вопросик. А что если у меня много таких Test'ов. CTest1, CTest2.... Для всех них, я конечно forward declaration сделаю. А можно ли использовать один и тот же указатель для всех классов? Как бы это удобней сделать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.