Конструкторы

При создании объекта часто требуется инициализация его элементов. Для разрешения этой проблемы используется функция (метод) – конструктор.

Конструктор – это функция класса с тем же именем, что и класс, который используется для инициализации элементов объекта класса.

Рассматривают две разновидности конструкторов:

  • по умолчанию;
  • с параметром.

Синтаксис:

class имя_класса

{закрытые  переменные класса

 public:

 имя_класса();   //конструктор по умолчанию

 имя_класса(список параметров);  //конструктор с параметром

 …

 открытые функции и переменные класса;

};

Правила использования конструктора:

  1. Имя конструктора должно совпадать с именем класса;
  2. Для конструктора не указывается тип возвращаемого значения, даже не допустим.
  3. В классе может быть любое число конструкторов;
  4. Если конструктор не вызывается явно, то он будет вызван автоматически при создании объекта с использованием знаний параметров по умолчанию;
  5. Если конструктор не описан явно, то он генерируется транслятором без участия программиста.

В вызове конструктора по сравнению с другими методами существуют следующие особенности:

  • если конструктор не вызывается явно, то он будет вызван автоматически при создании объекта с использованием значений параметров по умолчанию;
  • если конструктор не описан явно, то он генерируется транслятором без участия программиста.

Объявление конструкторов:

1) int a;

    myclass() {a=10;};  //конструктор по умолчанию

    void   show() {cout <<”Значения a=”<<a;};

2) { int a;

       public

       myclass(int x=4) {a=x;}; // конструктор с установленным по умолчанию аргументом

       void show() {cout<<”Значения a=”<<a;}

       };

3){ int a;

     public:

     myclass(int x) {a=x;}; // конструктор с параметром

     void show() {cout<<”Значения a=”<<a;)

     };

4) { int a, b;

       public:

       myclass(int x, int y) {a=x; b=y;};   // конструктор с двумя параметрами

       void show() {cout<<a<< “ ”<<b;};

     };

Использование конструкторов в программах:

1) void main

    {myclass ob;   // при объявлении объекта он автоматически инициализируется указанным значением

      ob.show();

      };

2) void main()

{int d;

cout<<”Введите параметр”<<’\n’;

cin>>d;

myclass ob(d);   //конструктор с параметром

ob.show ();

};

Четверг, 09.05.2024, 04:30
Приветствую Вас Гость