Ответ
В C++ разница между class и struct минимальна и сводится к умолчанию уровня доступа и умолчанию наследования:
-
Уровень доступа по умолчанию:
- В
structвсе члены и методы по умолчаниюpublic. - В
classвсе члены и методы по умолчаниюprivate.
- В
-
Наследование по умолчанию:
- При наследовании
struct D : Base— наследование по умолчаниюpublic. - При наследовании
class D : Base— наследование по умолчаниюprivate.
- При наследовании
Пример, демонстрирующий разницу:
struct MyStruct { // public по умолчанию
int data; // public
void func() {} // public
};
class MyClass { // private по умолчанию
int data; // private
void func() {} // private
};
// Наследование
struct D1 : MyClass {}; // Наследование public MyClass (т.к. struct)
class D2 : MyClass {}; // Наследование private MyClass (т.к. class)
Практическое соглашение: struct традиционно используют для простых агрегатов данных (POD-типы, данные без сложной логики), а class — для полноценных объектов с инкапсуляцией и поведением. Однако с точки зрения языка их возможности (конструкторы, деструкторы, методы, наследование, полиморфизм) идентичны.
Видео-ответы
▶
СОБЕСЕДОВАНИЕ В АУТСОРС НА SENIOR РАЗРАБОТЧИКА - 330К
▶
Реальное собеседование Senior iOS разработчика. Виталий Кузьменко / Мобильный разработчик
▶
Моковое собеседование на Middle iOS - разработчика | Solvery & CoffeeCode
▶
Тестовое собеседование С++ разработчика
▶
МОК Собеседование Junior iOS разработчик
▶
Моковое собеседование на Junior iOS-разработчика | Анастасия Золотых, Звук
▶
Тестовое собеседование C# | Бывший студент без опыта
▶
iOS Мок Интервью Junior разработчика - Анастасия
▶
Как пройти СОБЕСЕДОВАНИЕ на C# & .Net РАЗРАБОТЧИКА? (2)
▶
Собеседование iOS разработчика | Вопросы Джуниору: Основы Swift, UIKit, Архитектура
▶
Мок собес по iOS(Swift)
▶
Публичное Собеседование iOS | Alex Ozun, Роман Тысячник | iOS Ukraine #2
▶
Публичное собеседование: iOS-разработчик / CocoaHeads Kazakhstan