АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ІЄРАРХІЯ КЛАСІВ. ____________________________________________________________

Читайте также:
  1. A formula - formulae (formulas), a crisis - crises, a criterion - criteria, an index - indices, a bacterium — bacteria, an axis — axes
  2. A radioactive disintegration. Kinds of radioactive radiation
  3. A) Listen to the recording of Text Five and mark the stresses and tunes, b) Repeat the text in the intervals after the model.
  4. A) Listen to the recording of Text Four and mark the stresses and tunes, b) Repeat the text in the intervals after the model.
  5. A) Listen to the recording of Text One and mark the stresses and tunes, b) Repeat the text in the intervals after the model.
  6. A) Listen to the recording of Text Six and mark the stresses and tunes, b) Repeat the text in the intervals after the model.
  7. A) Listen to the recording of Text Two and mark the stresses and tunes, b) Repeat the text in the intervals after the model.
  8. A) Make a round-table talk on the state of film-making in this country. Be ready to make suggestions about the possible improvements in film-making.
  9. A) Read the following extract from an essay by V. Belinsky and summarize it in English.
  10. A) Read the following text dealing with comprehension of literature on school level.
  11. A) Read the following text to figure out the author's approach to foreign-lan- guage teaching. Do you think there is such a problem?
  12. A) Travelling and holiday-making are in a way related to each other. Read the following dialogue for enlarging your topical vocabulary (A — student of English; В — teacher).

 

До цих пір в прикладах ми використовували спадкоємство тільки для додавання нових можливостей до існуючих класів. Тепер розглянемо приклад, де спадкоємство застосовується для інших цілей, як частина первинної розробки програми. Як приклад розглянемо базу даних службовців деякої компанії. Для спрощення ситуації в ній існує тільки три категорії службовців: менеджери, зайняті управлінням, учені, зайняті дослідженнями і розробкою товару компанії, і робочі, зайняті виготовленням товару. У базі даних зберігаються імена службовців всіх категорій і їх ідентифікаційні номери. Проте в інформації про менеджерів міститься ще і назва їх посади і їх внески в футбольний-клуб, а в інформації про учених - кількість опублікованих статей. Приклад нашої програми починається з опису базового класу employee. Цей клас містить прізвища службовців і їх номери. Він породжує три нові класи: manager, scientist і laborer. Класи manager і scientist містять додаткову інформацію про ці категорії службовців. Далі розглянемо лістинг програми EMPLOY:
 
 
// employ.cpp // приклад написання бази даних працівників з використанням успадковування. # include <iostream> Unsigned namespace std; Const int Len = 80; // максимальна довжина імені. //------------------------------------------------ class employee //деякий працівник { private: char name [Len]; // ім’я працівника Unsigned long number; // номер працівника public: Void getdata () { cout << “\n Введіть прізвище: ”; cin >> name; cout << “\n Введіть номер: ”; cin >> number; } Void putdata () const { cout << “\n Прізвище: ” << name; cout << “\n Номер: ” << number; } };
 
//----------------------------------------------- Class manager: public employee // менеджер { private: Char title [ Len ]; // посада Double dues; // сума внеску в клуб public: Void getdata () { Employee:: getdata (); cout << ” Введіть посаду: ”; cin >>title; cout << ” Введіть суму внеску: ”; cin >>dues; } Void putdata () const { Employee:: pytdata (); cout << ” \n Посада: ” << title; cout << ” \n Сума внеску: ” << dues; } } //------------------------------------------------------- Class scientist: public employee // вчений { Private: Int pubs; //кількість публікацій public: Void getdata () { Employee:: getdata (); Cout << “Введіть кількість публікацій: ”; cin >> pubs; } Void putdata () const { Employee:: putdata (); Cout << “\n Введіть кількість публікацій: ”; cin >> pubs; } }; //-------------------------------------------------- Class laborer: public employee // робочий { }; //--------------------------------------------------------------- головна програма Int main () { Manager m1, m2; Scientist s1; Laborer L1; // введемо інформацію про декількох працівників cout << endl; cout << “\n Ввід інформації про першого менеджера”; m1.getdata (); cout << “\n Ввід інформації про другого менеджера”; m2.getdata (); cout << “\n Ввід інформації про першого вченого”; s1.getdata (); cout << “\n Ввід інформації про першого робочого”; L1.getdata (); //вивід отриманої інформації на екран cout << “\n Інформація про першого менеджера” m1.putdata (); cout << “\n Ввід інформації про другого менеджера”; m2.putdata (); cout << “\n Ввід інформації про першого вченого”; s1.putdata (); cout << “\n Ввід інформації про першого робочого”; L1.putdata (); cout << endl; Return 0; }
 
 
 
У функції main () цієї програми оголошено чотири об'єкти різних класів: два об'єкти класу manager, об'єкт класу Scientist і об'єкт класу laborer. (Звичайно, об'єктів могло бути багато більше, але при цьому виведення програми стало б досить об'ємним.) Вони викликають метод getdata() для отримання інформації про кожних із працівників і метод putdata(), забезпечує виведення цієї інформації. Розглянемо просту взаємодію з даною програмою. Спочатку користувач вводить дані.
 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)