2070 / C++ / Класи / Конструктор і деструктор

 

class Worker {
  public:
    int a;
    Worker(int b) { // ініціалізує поля класу
      a = b;
      cout << "Construktor is run, a=" << a;
    }
    ~Worker() { // видаляє об'єкт з пам'яті
      cout << "Destruktor is run";
    }
}

  
Worker obj(5);
obj.~Worker();

Construktor is run, a = 5
Destruktor is run

  
Знищити об'єкт за адресою
Worker* ptr = &obj;
ptr->~Worker();
delete ptr;
delete[] arr;

   
Визвати батьківський конструктор
SubClass(int a, int b) : SuperClass(a)
{
  this->b = b;
}

Якщо конструктор розписується в cpp файлі, то ця частина вказується там : SuperClass(a)

Конструктор копіювання