Конструкторы, деструкторы
Primary tabs
Конструктор
Конструктор представляет собой метод класса, который имеет такое же имя, как и класс. Например, если вы используете класс с именем employee, конструктор также будет иметь имя 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; }
Как видите, конструктор =
- не возвращает значение вызвавшей функции.
- Для него также не используется тип void
Деструкторы
Деструктор имеет такое же имя, как и класс, за исключением того, что вы должны предварять его имя символом тильды (~).
- вызывается при уничтожении объекта.
пример:
#include <iostream> using namespace std; class NameOfClass { private: int a; public: NameOfClass(int m); ~NameOfClass(); }; NameOfClass::~NameOfClass() { cout << this->a << endl; } NameOfClass::NameOfClass(int m) { a = m; } //~NameOfClass() — деструктор, имеет имя ~NameOfClass, не имеет входных параметров. //В данном случае при уничтожении объекта выводит в консоль параметр a.
читайте подробнее = http://programmersclub.ru/23/
- Log in to post comments
- 2643 reads