Re[14]: Singleton действительно антипаттерн в enterprize при
От: adontz Грузия http://adontz.wordpress.com/
Дата: 12.08.07 08:44
Оценка:
Здравствуйте, IT, Вы писали:

IT>А так?


void level3()
{
    log.log("level 3!");
}
void level2()
{
    level3();
}
void level1()
{
    level2();
}

logger log;

int main(logger pLog)
{
    log = pLog;
    level1();
}


Так не скомпилируется, у функции main параметрами могут быть только (int argc, char ** argv)

logger log;

void level3()
{
    log.log("level 3!");
}
void level2()
{
    level3();
}
void level1()
{
    level2();
}

int main( pLog)
{
    logger log;

    log.initialize(bla-bla-bla);

    level1(log);
}

Тоже не будет работать. level1, level2, level3 будут в разных единицах компиляции и иметь общую глобальную переменную им не светит.
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.