Поделиться через


Инициализация с использованием специальные функции-члены

В этом разделе описаны специальные инициализации с помощью функций-членов.Развернет его на следующих обсуждениях инициализации.

  • Инициализация агрегаты, который описывает, как инициализировать массивы типов nonclass и объекты простых типов класса.Эти простые типы классов не могут иметь закрытых или защищенные члены, и они не могут иметь базовые классы.

  • Конструкторы, который объясняет, как инициализировать объекты типа класса с помощью специальные функции конструктора.

По умолчанию метод инициализации, чтобы выполнить копирование бит-для-бита из инициализатора объекта для инициализации.Этот метод применим только к:

  • Объекты встроенных типов.Примеры.

    int i = 100;
    
  • Указатели.Примеры.

    int i;
    int *pi = &i;
    
  • Ссылки.Примеры.

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • Объекты типа класса, когда класс не имеет не закрытых или защищенные члены, виртуальные функции, и никакие базовые классы.Примеры.

    // spec1_special_member_functions.cpp
    // compile with: /LD
    struct Point
    {
        int x, y;
    };
    
    Point pt = { 10, 20 };   // Static storage class only
    

Классы могут указать более finalize инициализацию с помощью функции конструктора.(Дополнительные сведения об этих функциях см. в разделе declare Конструкторы.) Если объект типа класса, который содержит конструктор, объект необходимо инициализировать, либо должен иметь конструктор по умолчанию.Объекты, которые не были инициализированы вызывается конструктор типа по умолчанию.

См. также

Ссылки

Специальные функции-члены (C++)