[С++ ]

Конструктор представляет собой специальную функцию, которую C++ автоматически вызывает каждый раз при создании объекта. Обычное назначение конструктора заключается в инициализации элементов данных объекта. Конструктор имеет такое же имя, как и класс. Например, класс с именем file использует конструктор с именем file. Вы определяете конструктор внутри своей программы так же, как и любой метод класса. Единственное различие заключается в том, что конструктор не имеет возвращаемого значения. Когда вы позже объявляете объект, вы можете передавать параметры конструктору, как показано ниже:

class_name object(valuel, value2, value3)

 

Деструктор представляет собой функцию, которую C++ автоматически запускает, когда он или ваша программа уничтожает объект. Деструктор имеет такое же имя, как и класс объекта; однако вы предваряете имя деструктора символом тильды (~), например ~employee. Всвоей программе вы определяете деструктор точно так же, как и любой другой метод класса.

 

СОЗДАНИЕ ПРОСТОГО КОНСТРУКТОРА

Следующая программа CONSTRUC.CPP создает класс с именем employee.

class employee


public: 

   employee(char *, long, float); //Конструктор 
   void show_employee(void); 
   int change_salary(float); 
   long get_id(void); 
private: 
   char name [64]; 
   long employee_id; 
   float salary; 
};

 

В вашей программе вы просто определяете конструктор так же, как любой другой метод класса:

employee::employee(char *name, long employee_id, float salary)


   strcpy(employee::name, name) ; 
   employee::employee_id = employee_id; 
   if (salary < 50000.0) 
   employee::salary = salary; 
   else // Недопустимый оклад 
   employee::salary = 0.0; 
}

СОЗДАНИЕ ПРОСТОГО ДЕСТРУКТОРА

Подобно конструктору, деструктор имеет такое же имя, как и класс объекта. Однако в случае деструктора вы предваряете его имя символом тильды (~), как показано ниже:

~class_name (void) //----------->указывает деструктор


// Операторы деструктора 
}

В отличие от конструктора вы не можете передавать параметры деструктору. Следующая программа DESTRUCT.CPP определяет деструктор для класса employee:

void employee::-employee(void)


   cout << "Уничтожение объекта для " << name << endl; 
}