Здравствуйте, Calc, Вы писали:
C>Вот делаю программу
(Чистый WinApi, но вопрос не по нему, а по ООП):
C>В функции WinMain обьявлен класс CProgram
C>В в этом классе есть переменная CSettings
C>В CSettings есть CSettingsDialog
C>В CSettins есть функция, в которой объявлен класс CUpdate
C>Хочу сделать класс CLogFile (название говорит само за себя)
C>Нужно, чтоб он был доступен из всех классов.
C>То есть у него будет функция типа LogWrite(что она делает не имеет значение)
C>В функции WinMain хочу вызвать LogCreate
C>В классе CSettings несколько раз LogWrite()
C>В других классах тоже самое.
C>Не представляю куда запихать CLogFile
Можно сделать что-то вроде общедоступного синглетона, примерно так
class CLogFile
{
public:
static CLogFile *GetInstance()
{
if( NULL == s_Instance )
s_Instance = new CLogFile;
return s_Instance;
}
static void Write( TCHAR *message )
{
//TODO:
}
private:
static CLogFile *s_Instance;
}
CLogFile *CLogFile::s_Instance = NULL;
И в любом месте программы где виден CLogFile
CLogFile::GetInstance()->Write( "xz" );
Ed.ward
... << RSDN@Home 1.0 beta 7a >>