Главное отличие между struct и class в C++ — это уровни доступа по умолчанию. У структур по умолчанию члены доступны как public и наследование от базового класса тоже public, а у классов всё по умолчанию private.
Частая ошибка — думать, что структуры — это только простые контейнеры для данных. На самом деле у struct в C++ все те же возможности, что и у class, включая:
public, private, protected)Выбор между struct и class — это в первую очередь вопрос намерения при проектировании и принятых соглашений:
struct MyStruct {
int value; // public по умолчанию
};
class MyClass {
int value; // private по умолчанию
public:
int getValue() { return value; }
};
Функционально их можно использовать одинаково — разница только в уровнях доступа по умолчанию и соглашениях по оформлению кода.
В C++ структуры по умолчанию используют public наследование при наследовании от базового класса, тогда как классы используют private наследование.
Новый — ещё не проверен сообществом
Вы