Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 7 стр.

UptoLike

Составители: 

8
Имя этой компонентной функции по правилам языка С++ должно
совпадать с именем класса. Такая функция автоматически вызывается при
определении или размещении в памяти с помощью оператора new каждого
объекта класса.
Пример.
сomplex(double re1 = 0.0,double im1 = 0.0){re = re1; im = im1;}
Конструктор выделяет память для объекта и инициализирует дан-
ные члены класса.
Конструктор имеет ряд особенностей:
Для конструктора не определяется тип возвращаемого значения.
Даже тип void не допустим.
Указатель на конструктор не может быть определен, и соответст-
венно нельзя получить адрес конструктора.
Конструкторы не наследуются.
Конструкторы не могут быть
описаны с ключевыми словами virtual,
static, const, mutuable, valatile.
Конструктор всегда существует для любого класса, причем, если он
не определен явно, он создается автоматически. По умолчанию создается
конструктор без параметров и конструктор копирования. Если конструктор
описан явно, то конструктор по умолчанию не создается. По умолчанию
конструкторы создаются общедоступными (public).
Параметром конструктора не может быть его собственный
класс, но
может быть ссылка на него (T&). Без явного указания программиста кон-
структор всегда автоматически вызывается при определении (создании)
объекта. В этом случае вызывается конструктор без параметров. Для явно-
го вызова конструктора используются две формы:
имя_класса имя_объекта (фактические_параметры);
имя_класса (фактические_параметры);
Первая форма допускается только при не
пустом списке фактических
параметров. Она предусматривает вызов конструктора при определении
нового объекта данного класса:
complex ss (5.9,0.15);
Вторая форма вызова приводит к созданию объекта без имени:
complex ss = complex (5.9,0.15);
Существуют два способа инициализации данных объекта с помощью
конструктора. Ранее мы рассматривали первый способ, а именно, передача
значений параметров в тело конструктора. Второй способ предусматривает
применение списка
инициализаторов данного класса. Этот список помеща-
                                     8

     Имя этой компонентной функции по правилам языка С++ должно
совпадать с именем класса. Такая функция автоматически вызывается при
определении или размещении в памяти с помощью оператора new каждого
объекта класса.
     Пример.
     сomplex(double re1 = 0.0,double im1 = 0.0){re = re1; im = im1;}

        Конструктор выделяет память для объекта и инициализирует дан-
ные − члены класса.
        Конструктор имеет ряд особенностей:
        • Для конструктора не определяется тип возвращаемого значения.
Даже тип void не допустим.
        •Указатель на конструктор не может быть определен, и соответст-
венно нельзя получить адрес конструктора.
        •Конструкторы не наследуются.
        •Конструкторы не могут быть описаны с ключевыми словами virtual,
static, const, mutuable, valatile.

      Конструктор всегда существует для любого класса, причем, если он
не определен явно, он создается автоматически. По умолчанию создается
конструктор без параметров и конструктор копирования. Если конструктор
описан явно, то конструктор по умолчанию не создается. По умолчанию
конструкторы создаются общедоступными (public).
      Параметром конструктора не может быть его собственный класс, но
может быть ссылка на него (T&). Без явного указания программиста кон-
структор всегда автоматически вызывается при определении (создании)
объекта. В этом случае вызывается конструктор без параметров. Для явно-
го вызова конструктора используются две формы:
      имя_класса имя_объекта (фактические_параметры);
      имя_класса (фактические_параметры);
      Первая форма допускается только при не пустом списке фактических
параметров. Она предусматривает вызов конструктора при определении
нового объекта данного класса:
      complex ss (5.9,0.15);
      Вторая форма вызова приводит к созданию объекта без имени:
      complex ss = complex (5.9,0.15);
      Существуют два способа инициализации данных объекта с помощью
конструктора. Ранее мы рассматривали первый способ, а именно, передача
значений параметров в тело конструктора. Второй способ предусматривает
применение списка инициализаторов данного класса. Этот список помеща-