РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
684 of 815 menu

Конструктор

Конструктор - это специальный метод класса, который автоматически вызывается при создании объекта. Его основная задача - инициализировать поля класса начальными значениями. Имя конструктора всегда совпадает с именем класса, а тип возвращаемого значения не указывается. Конструктор может принимать параметры, которые передаются при создании объекта. Если конструктор не объявлен явно, компилятор создаёт конструктор по умолчанию без параметров.

Синтаксис

class ClassName { public: ClassName(parameters) { // initialization code } };

Пример

Давайте создадим класс Point с конструктором, который принимает два параметра и инициализирует координаты:

#include <iostream> using namespace std; class Point { public: int x; int y; Point(int x, int y) { this->x = x; this->y = y; } }; int main() { Point p(3, 4); cout << p.x << " " << p.y << endl; return 0; }

Результат выполнения кода:

3 4

Пример

Давайте создадим класс String с конструктором по умолчанию, который инициализирует строку значением "abcde":

#include <iostream> #include <string> using namespace std; class String { public: string value; String() { value = "abcde"; } }; int main() { String s; cout << s.value << endl; return 0; }

Результат выполнения кода:

"abcde"

Пример

Давайте используем список инициализации в конструкторе для инициализации полей класса:

#include <iostream> using namespace std; class Point { public: int x; int y; Point(int x, int y) : x(x), y(y) { } }; int main() { Point p(1, 2); cout << p.x << " " << p.y << endl; return 0; }

Результат выполнения кода:

1 2

Смотрите также

  • ключевое слово class,
    которое объявляет класс
  • метод destructor,
    который вызывается при уничтожении объекта
  • метод copy-ctor,
    который создаёт копию объекта
  • метод ctor-init,
    который инициализирует поля через список инициализации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить