понедельник, 4 октября 2010 г.

6. Является ли структура классом? Чем класс отличается от структуры?

а) Да
б)
класс обявленный как class имеет по умолчанию доступ private,
класс обявленный как struct имеет по умолчанию доступ public.

То есть, такие определения эквиваленты:

class A {
/* */
}

struct A {
private:
/* */
}


Больше отличий нет. На практике обычно структура используется как группировка переменных не требующих задавать поведение для них.

9 комментариев:

  1. Ой, вру. Это в Делфи так - там record и class.

    ОтветитьУдалить
  2. Хотя нет, не получилось почему-то стать читателем о_О

    ОтветитьУдалить
  3. Блин, как тут зарегатся? Я стал читателем, а все равно пишу посты как гость. Аффтар, низачет тебе.

    ОтветитьУдалить
  4. Не согласен, что нет отличий! В классе есть еще и методы, которых нет в структуре.

    ОтветитьУдалить
  5. Разобрался с комментариями, только порядок нарушился, ну да ладно.

    ОтветитьУдалить
  6. Qwe
    "Не согласен, что нет отличий! В классе есть еще и методы, которых нет в структуре."

    в структуре тоже можно использовать такие же методы, как и в классе, даже виртуальные

    ОтветитьУдалить
  7. Если разговор о C# - разница большая.
    1). Структуры не поддерживают наследования.
    2). Структуры при передачи (присвоении или как параметр метода) передают копию себя.
    3). Структуры не поддерживают перегрузку конструктора без параметров.
    И.т.д.

    Volodymyr S.

    ОтветитьУдалить
  8. 4). Структуры существуют только "в поле видимости" и уничтожаются сразу за ее пределами, освобождая сразу память.

    Volodymyr S.

    ОтветитьУдалить

Можно использовать теги <b>, <i>