Конструкторы, деструкторы
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
- 3238 reads