EasyООП
В чём разница между структурой (struct) и классом (class) в C++?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
Единственное отличие — модификатор доступа по умолчанию: в struct члены и базовые классы public, в class — private. В остальном полностью эквивалентны.
struct Point { int x, y; }; // члены public по умолчанию
class Account {
int balance; // private по умолчанию
public:
void deposit(int n) { balance += n; }
};Обе могут иметь методы, конструкторы, наследование, виртуальные функции. Исторически struct — для простых агрегатов (POD), class — для типов с инкапсуляцией, но это лишь соглашение.
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.