Ksi, а Вы суп недоваренный есть будете? А недосоленный?ksi wrote: 18 May 2017 19:49Это все понятно, не надо мне этого объяснять. То есть то, что вы предлагаете - это скажем завести в классе еще один member mIsIinitialized который 0 по дефолту и который ставится в 1, когда мы реально кладем нормальные занные в объект? А все Get () функции должны проверять этот member и бросать exception (дефолтное значение нельзя, функция которая позвала Get () не будет знать, что была бяка)? Так можно сделать, но сколько лишней работы!partner_ca wrote: 18 May 2017 19:24Вот. Типична ошибка С-шника начинающего юзать классы.
Это плохой стиль - иметь публичные поля класа.
Класс - это в первую очередь не открытые данные, а поведение.
А доступ к данным только через геттеры/сеттеры.
Если класс не полностью инициализирован то геттер возвращает some default value или бросает exception.
То есть проблема таки есть и уже дизайнеру решать, как он с ней будет обходиться. Моя задача состояла в том, чтобы привлечь внимание СК к этой вещи, которая возникает часто по жизни.
"Доварите" Ваш объект перед употреблением, а потом "досаливайте" по вкусу.
P.S.: А Вы кто by training?