Re: Расположение классов в проекте
От: Ed.ward Россия  
Дата: 24.07.03 14:10
Оценка: 2 (2)
Здравствуйте, 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 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.