Українська
Підсумки
Висновки
Інваріант визначає допустимий стан об’єкта. Конструктор встановлює інваріант до початку використання. Композиція керує життям вкладених значень. Мінімальний інтерфейс полегшує перевірку.
Питання для самоперевірки
- Чим клас відрізняється від конкретного об’єкта?
- Чому перевірку слід виконувати до зміни поля?
- У якому порядку ініціалізуються поля?
- Що відбувається, якщо конструктор кидає виняток?
- Коли потрібен explicit-конструктор?
- Яку обіцянку дає const-метод?
- Для чого існують this і mutable?
- Чим статичне поле відрізняється від звичайного?
- Що належить до заголовка, а що до .cpp?
- Коли struct доцільніший за інкапсульований class?
- Чому setter для кожного поля може погіршити інтерфейс?
- Що рахує лічильник created у прикладі замовлення?
- Як перевірити відмову без зміни стану?
- Чому unique_ptr усуває потребу в ручному delete?
- Які правила має призначена ініціалізація агрегату?