Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тема 4. Спадкування

Тема 3. Перевантаження операторів

3.18. Створіть клас chess (шахи), у якому зберігаються поля шахівниці x, y (цілі числа, що лежать у діапазоні 1-8). Ліве нижнє поле дошки (1, 1) є чорним. Перевантажите щодо цього класу унарний оператор!, що повертає істину якщо дане поле є білим, у противному випадку повертає неправду.

3.19. Створіть клас chess (шахи), у якому зберігаються поля шахівниці x, y (цілі числа, що лежать у діапазоні 1-8). Ліве нижнє поле дошки (1, 1) є чорним. Перевантажте щодо даного класу оператори = = і!=, які відповідно істинність висловлення: «Дані поля мають однакові кольори».

3.20. Створіть клас chess (шахи), у якому зберігаються поля шахівниці x, y (цілі числа, що лежать у діапазоні 1-8). Ліве нижнє поле дошки (1, 1) є чорним. Перевантажте щодо даного класу бінарний оператор +(за допомогою дружньої функції), що повертає істину, якщо «Тура за один хід може перейти з одного поля на інше».

3.21. Створіть клас chess (шахи), у якому зберігаються поля шахівниці x, y (цілі числа, що лежать у діапазоні 1-8). Ліве нижнє поле дошки (1, 1) є чорним. Перевантажте щодо даного класу бінарний оператор * (за допомогою функції-члена класу), що повертає істину, якщо «Король за один хід може перейти з одного поля на інше».

3.22. Створіть клас chess (шахи), у якому зберігаються поля шахівниці x, y (цілі числа, що лежать у діапазоні 1-8). Ліве нижнє поле дошки (1, 1) є чорним. Перевантажте щодо даного класу бінарний оператор / (за допомогою дружньої функції), що повертає істину, якщо «Слон за один хід може перейти з одного поля на інше».

3.23. Створіть клас chess (шахи), у якому зберігаються поля шахівниці x, y (цілі числа, що лежать у діапазоні 1-8). Ліве нижнє поле дошки (1, 1) є чорним. Перевантажте щодо даного класу бінарний оператор - (за допомогою функції-члена класу), що повертає істину, якщо «Ферзь за один хід може перейти з одного поля на інше».

3.24. Створіть клас chess (шахи), у якому зберігаються поля шахівниці x, y (цілі числа, що лежать у діапазоні 1-8). Ліве нижнє поле дошки (1, 1) є чорним. Перевантажте щодо даного класу бінарний оператор + (за допомогою дружньої функції), що повертає істину, якщо «Кінь за один хід може перейти з одного поля на інше».

3.25. Створіть клас date (дата), у якому зберігаються два цілих числа: D (день) і M (місяць), що визначають правильну дату. Перевантажте щодо даного класу оператор перетворення об'єкта даного класу в рядок, що буде містити відповідній даній даті знак Зодіаку: «Водолій» (20.1-18.2), «Риби» (19.2-20.3), «Овен» (21.3-19.4), «Телець» (20.4-20.5), «Близнюки» (21.5-21.6), «Рак» (22.6-22.7), «Лев» (23.7-22.8), «Діва» (23.8-22.9), «Терези» (23.9-22.10), «Скорпіон» (23.10-22.11), «Стрілець» (23.11-21.12), «Козеріг» (22.12-19.1).

4.2. Створіть ієрархію класів для зберігання інформації про літальні апарати. Почніть із загального базового класу airship, призначеного для зберігання кількості перевезених пасажирів і кількості перевезеного вантажу (у фунтах). Потім створіть дві похідні від airship класу airplane і balloon. Клас airplane повинен зберігати тип літакового двигуна (гвинтова або реактивний) і дальність польоту в милях. Клас balloon повинен зберігати інформацію про тип газу, використовуваного для підйому дирижабля (водень або гелій), і його максимальна стеля (у футах). Створіть коротку програму для демонстрації роботи цієї ієрархії класів.

4.6. Створіть вихідний базовий клас building для зберігання числа поверхів і кімнат у будинку, а також загальну площу кімнат. Створіть похідний клас house, що успадковує клас building і зберігає число ванних кімнат і число спалень. Крім цього створіть похідний клас office, що успадковує клас building і зберігає число вогнегасників і телефонів.

4.13-4.19. Кожна з наведених нижче абстракцій визначає ціле сімейство підвидів, як, наприклад, абстракція “транспортний засіб” може визначати “літак”, “автомобіль”, “велосипед”. Виберіть одне із сімейств і складіть для нього ієрархію підвидів. Приведіть приклад відкритого інтерфейсу для цієї ієрархії, включаючи конструктори. Визначте віртуальні функції. Напишіть код програми, що використає даний інтерфейс.

(4.13) Крапка (4.14) Службовець (4.15) Фігура (4.16) Телефонний_номер (4.17) Рахунок_в_банку (4.18) Овочі (4.19) Транспортний засіб 4.20-4.25. Визначте клас X, елементом якого є об'єкт класу Y. В обох класах Визначте конструктори й деструктори. У програмі продемонструйте створення об'єктів обох класів. (4.20) X(шахи) Y(шахове поле) (4.21) X(машина) Y(радіо) (4.22) X(квартира) Y(кімната) (4.23) X(бібліотека) Y(книга) (4.24) X(університет) Y(факультет) (4.25) X(комп'ютер) Y(процесор)

Для класу X перевантажте оператор перетворення об'єкта в рядок.

 

<== предыдущая лекция | следующая лекция ==>
Задачи по теме: Тема 1 | Задачи по информатике
Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 89; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.