НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

C++ Підручник

C++ Головна C++ Інтро C++ Початок роботи C++ Синтаксис C++ Виведення C++ Коментарі C++ Змінні C++ Введення користувача C++ Типи даних C++ Оператори C++ Рядки C++ Математика C++ Булеві C++ Умови C++ Switch C++ Цикл While C++ Цикл For C++ Break/Continue C++ Масиви C++ Структури C++ Enums C++ Довідники C++ Вказівники

C++ Функції

C++ Функції C++ Параметри функції C++ Перевантаження функцій C++ Область застосування C++ Рекурсія

C++ Класи

C++ ООП C++ Класи/Об’єкти C++ Методи класу C++ Конструктори C++ Специфікатори доступу C++ Інкапсуляція C++ Успадкування C++ Поліморфізм C++ Файли C++ Винятки C++ Дата

C++ Як зробити

Скласти два числа Випадкові числа

C++ Довідник

C++ Довідник C++ Ключові слова C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime>

C++ Приклади

C++ Приклади C++ Компілятор C++ Вправи C++ Вікторина C++ Сертифікат

Мова програмування C++. Уроки W3Schools для початківців українською мовою

En Es De

C++ Конструктори


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

Конструктор у C++ — це спеціальний метод, який автоматично викликається під час створення об’єкта класу.

Щоб створити конструктор, використовуйте те саме ім’я, що й у класу, а потім у дужках ():

Приклад

class MyClass {     // Клас
  public:           // Специфікатор доступу
    MyClass() {     // Конструктор
      cout << "Hello World!";
    }
};

int main() {
  MyClass myObj;    // Створити об’єкт MyClass (це викличе конструктор)
  return 0;
}
Спробуйте самі »

Примітка: Конструктор має те саме ім’я, що й клас, він завжди public і не має жодного значення, що повертається.


Параметри конструктора

Конструктори також можуть приймати параметри (як і звичайні функції), що може бути корисним для встановлення початкових значень для атрибутів.

Цей клас має атрибути brand, model і year та конструктор з різними параметрами. Всередині конструктора ми встановлюємо атрибути, що дорівнюють параметрам конструктора (brand=x тощо). Коли ми викликаємо конструктор (шляхом створення об’єкта класу), ми передаємо конструктору параметри, які встановлять значення відповідних атрибутів такими ж:

Приклад

class Car {        // Клас
  public:          // Специфікатор доступу
    string brand;  // Атрибут
    string model;  // Атрибут
    int year;      // Атрибут
    Car(string x, string y, int z) { // Конструктор з параметрами
      brand = x;
      model = y;
      year = z;
    }
};

int main() {
  // Створити об’єкти Car і викликати конструктор з різними значеннями
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Вивести значення
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}
Спробуйте самі »

Як і функції, конструктори також можуть бути визначені поза класом. Спочатку оголосите конструктор усередині класу, а потім визначте його поза класом, вказавши ім’я класу, а потім оператор дозволу області видимості ::, а потім ім’я конструктора (те саме, що і клас):

Приклад

class Car {        // Клас
  public:          // Специфікатор доступу
    string brand;  // Атрибут
    string model;  // Атрибут
    int year;      // Атрибут
    Car(string x, string y, int z); // Оголошення конструктора
};

// Визначення конструктора поза класом
Car::Car(string x, string y, int z) {
  brand = x;
  model = y;
  year = z;
}

int main() {
  // Створити об’єкти Car і викликати конструктор з різними значеннями
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Вивести значення
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}
Спробуйте самі »


Коментарі