🟠Конструктор по умолчанию (Default Constructor)
Без параметров, создается автоматически компилятором, если не задан.
class MyClass {
public:
MyClass() {}
};🟠Параметризованный конструктор (Parameterized Constructor)
Принимает параметры для инициализации объекта.
class MyClass {
private:
int x;
public:
MyClass(int value) : x(value) {}
};🟠Конструктор копирования (Copy Constructor)
Создает копию существующего объекта.
class MyClass {
private:
int x;
public:
MyClass(const MyClass &other) : x(other.x) {}
};🟠Конструктор перемещения (Move Constructor)
Перемещает ресурсы из временного объекта.
class MyClass {
private:
int* data;
public:
MyClass(MyClass&& other) noexcept : data(other.data) {
other.data = nullptr;
}
};🟠Делегирующий конструктор (Delegating Constructor)
Вызывает другой конструктор того же класса.
class MyClass {
private:
int x, y;
public:
MyClass(int value) : MyClass(value, 0) {}
MyClass(int value1, int value2) : x(value1), y(value2) {}
};🟠Явный конструктор (Explicit Constructor)
Помечен
explicit для предотвращения неявных преобразований. class MyClass {
public:
explicit MyClass(int value) {}
};Ставь 👍 и забирай 📚 Базу знаний