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

09 полиморфизм

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

09 – 21

int main()

{

// Создание УБК и ОПК

Worker *w;

Boss b(”Петр”, ”Иванов”, 7000);

// Связывание УБК с ОПК

w = &b;

09 – 22

//Вызов двух ВФ методом

//динамического связывания

w->print();

cout << ” заработал

<<w->earnings()

<<руб.” << endl;

09 – 23

//Вызов двух ВФ методом

//статического связывания

b.print();

cout << ” заработал

<<b.earnings() << ” руб.

<<endl << endl;

09 – 24

//Единая обработка объектов разных ПК

//посредством вызова ВФ через УБК

cout << ”Ведомость ЗП сотрудников”

<<endl << endl;

//Создание четырех ОПК

Boss b1(”Иван”, ”Петров”, 7000); Boss b2(”Анна”, ”Попова”, 9000);

09 – 25

Comm c1(”Петр”, ”Иванов”, 5000, 20, 40000);

Comm c2(”Вера”, ”Мухина”, 7000, 15, 40000);

//Создание и инициализация массива

//УБК,указывающих на четыре ОПК

Worker *wptr[4] = {&b1, &c2, &b2, &c1};

09 – 26

//Единая обработка объектов

//разных ПК через УБК

for(int i=0; i<4; i++) { wptr[i]->print();

cout << ” – ”

<<wptr[i]->earnings()

<<” руб.”;

}

return 0;

}

09 – 27

Администратор Петр Иванов заработал 7000 руб. Администратор Петр Иванов заработал 7000 руб.

Ведомость ЗП сотрудников

Администратор Иван Петров – 7000 руб. Комиссионный служащий Вера Мухина – 13000 руб. Администратор Анна Попова – 9000 руб. Комиссионный служащий Петр Иванов – 13000 руб.