б)
класс обявленный как class имеет по умолчанию доступ private,
класс обявленный как struct имеет по умолчанию доступ public.
То есть, такие определения эквиваленты:
class A {
/* */
}
struct A {
private:
/* */
}
Больше отличий нет. На практике обычно структура используется как группировка переменных не требующих задавать поведение для них.
Ой, вру. Это в Делфи так - там record и class.
ОтветитьУдалитьХотя нет, не получилось почему-то стать читателем о_О
ОтветитьУдалитьБлин, как тут зарегатся? Я стал читателем, а все равно пишу посты как гость. Аффтар, низачет тебе.
ОтветитьУдалитьНе согласен, что нет отличий! В классе есть еще и методы, которых нет в структуре.
ОтветитьУдалитьРазобрался с комментариями, только порядок нарушился, ну да ладно.
ОтветитьУдалитьпроверка-проверка )
ОтветитьУдалитьQwe
ОтветитьУдалить"Не согласен, что нет отличий! В классе есть еще и методы, которых нет в структуре."
в структуре тоже можно использовать такие же методы, как и в классе, даже виртуальные
Если разговор о C# - разница большая.
ОтветитьУдалить1). Структуры не поддерживают наследования.
2). Структуры при передачи (присвоении или как параметр метода) передают копию себя.
3). Структуры не поддерживают перегрузку конструктора без параметров.
И.т.д.
Volodymyr S.
4). Структуры существуют только "в поле видимости" и уничтожаются сразу за ее пределами, освобождая сразу память.
ОтветитьУдалитьVolodymyr S.