Какая типичная ошибка при работе с инкапсуляция и как ее избежать?

C/C++JuniorООП и проектирование C++Ошибка кандидатаооп и проектирование c++|оoп|инкапсуляция|c++|c

Что хотят услышать интервьюеры:

Частая ошибка: делать иерархии ради переиспользования кода, не иметь virtual destructor в базовом классе или смешивать владение с полиморфизмом.

Ответ:

Как избежать: явно определить контракт: кто владеет объектом, кто освобождает ресурс, что происходит при ошибке, какие инварианты должны сохраняться.

На собеседовании: полезно назвать симптом — segfault, leak, UB, data race, deadlock, ABI break или деградация производительности.

class Account {
  private: int balance_;
public: void deposit(int);
}
;

Источники

Похожие вопросы