04 классы 2
.pdf04 – 1
2.6. Конструкторы
class Time {
...
public:
//конструктор без параметров
Time();
//конструктор с параметрами
Time(int h, int m, int s);
...
};
04 – 2
Передача значений параметров конструктору:
// начальное время 21:30:00 Time t(21,30,0);
Пример:
04 – 3
class Time { int hour; int min; int sec;
public:
// конструктор с умолчанием
Time(int=0, int=0, int=0); void set(int, int, int); void print();
};
04 – 4
Time::Time(int hh, int mm, int ss) { set(hh, mm, ss); }
void Time::set(int h, int m, int s)
{
hour=(h>=0 && h<24) ? h:0; min =(m>=0 && m<60) ? m:0; sec =(s>=0 && s<60) ? s:0;
}
04 – 5
void Time::print()
{
cout << hour cout << min cout << sec
}
<<” час. ”;
<<” мин. ”;
<<” сек. ”;
04 – 6
int main()
{
Time t1, t2(21,34), t3(27,74,90);
cout << ”Все значения заданы по умолчанию: ”;
t1.print(); cout << endl;
cout << ”Заданы только часы и минуты: ”;
t2.print(); cout << endl;
04 – 7
cout << ”Все значения заданы неверно: ”;
t3.print(); return 0;
}
Все значения заданы по по умолчанию: 0 час. 0 мин. 0 сек. Заданы только часы и минуты: 21 час. 34 мин. 0 сек.
Все значения заданы неверно: 0 час. 0 мин. 0 сек.
04 – 8
2.7. Деструкторы
…
2.8.Вызов конструкторов и деструкторов
•Глобальный объект
•Локальный автоматический объект
•Локальный статический объект
04 – 9
Пример:
class Create { int num;
public:
Create(int); // конструктор ~Create(); // деструктор
};
04 – 10
Create::Create(int n)
{
num = n;
cout << ”Объект ” << num << ” конструктор”;
}