Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

05 классы 3

.pdf
Скачиваний:
8
Добавлен:
27.03.2015
Размер:
155.34 Кб
Скачать

05 – 11

int main()

{

Inc ob(10,5);

cout << ”Перед приращением: ”; ob.print();

for(int i=1; i<=2; i++) { ob.add();

cout << ”После приращения: ”; cout << i << ”:”;

05 – 12

ob.print();

}

return 0;

}

Перед приращением: count = 10, delta = 11 После приращения 1: count = 21, delta = 11 После приращения 2: count = 32, delta = 11

05 – 13

2.11. Композиция

Пример:

//Класс Worker, представляющий

//сотрудников, включает два объекта

//класса Date, представляющего дату

05 – 14

class Date { int day; int month; int year;

int check(int); // утилита public:

Date(int=1, int=1, int=2004); void print();

};

05 – 15

Date::Date(int d, int m, int y)

{

year = y;

//

год без

проверки

if(m>0 && m<=12) //

месяц с

проверкой

month = m;

 

 

 

else {

 

 

 

cout << ”Месяц ”<< m <<” неверный”; cout << ”Месяц пусть = 1” << endl; month = 1;

}

// день с проверкой

05 – 16

day = check(d);

cout <<”Объект Date получил значение: ”;

print();

}

void Date::print()

{

cout << day << ”-” << month << ”-” << year << endl;

}

05 – 17

//Утилита для проверки соответствия дня

//месяцу и году

int Date::check(int x)

{

int days[13] = {0,31,28,31,...,31};

if(x>0 && x<=days[month]) return x;

05 – 18

// если февраль високосного года

if(x==29 && month==2 && (year%400==0 ||

(year%4==0 && year%100!=0))) return x;

cout << ”День ” << x << ” неверный”; cout << ”День пусть = 1” << endl; return 1;

}

05 – 19

class Worker {

// фамилия

char fam[25];

char name[25];

// имя

Date birth;

//

дата рождения

Date hire;

//

дата приема

public:

Worker(char *, char *,

int, int, int, int, int, int); void print();

};

05 – 20

//конструктор со списком инициализаторов

//элементов после списка параметров

Worker::Worker(char *f, char *n, int bd, int bm, int by, int hd, int hm, int hy): birth(bd, bm, by),

hire (hd, hm, hy)

{

int l;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]