Здавалка
Главная | Обратная связь

Порядок виконання роботи.



1.Визначити ієрархію класів (відповідно до варіанта).

2.Визначити в класі статичний компонент - покажчик на початок зв'язаного списку об'єктів і статичну функцію для перегляду списку.

3.Реалізувати класи.

4.Написати демонстраційну програму, у якій створюються об'єкти різних класів і поміщаються в список, після чого список проглядається.

5.Зробити відповідні методи не віртуальними і подивитися, що буде.

6.Реалізувати варіант, коли об'єкт додається в список при створенні, тобто в конструкторі (дивися пункт 6 наступного розділу).

Методичні вказівки.

1.Для визначення ієрархії класів зв'язати відношенням спадкування класи, приведені в додатку (для заданого варіанта). З перерахованих класів вибрати один, який буде стояти на чолі ієрархії. Це абстрактний клас.

2.Визначити у класах усі необхідні конструктори і деструктор.

3.Компонентні дані класу потрібно специфікувати як protected.

4.Приклад визначення статичних компонентів:

static person* begin; // покажчик на початок списку

static void print(void); // перегляд списку

5.Статичну компоненту-дане потрібно ініціювати поза визначенням класу, у глобальній області.

6.Для додавання об'єкта в список варто передбачити метод класу, тобто об'єкт сам додає себе в список. Наприклад, a.Add() - об'єкт a додає себе в список.

Включення об'єкта в список можна виконувати при створенні об'єкта, тобто помістити оператори включення в конструктор. У випадку ієрархії класів, включення об'єкта в список повинний виконувати тільки конструктор базового класу. Ви повинні продемонструвати обидва ці способи.

7.Список проглядається шляхом виклику віртуального методу Show кожного об'єкта.

8.Статичний метод перегляду списку викликайте не через об'єкт, а через клас.

9.Визначення класів, їхню реалізацію, демонстраційну програму помістити в окремі файли.

Зміст звіту.

1.Титульний лист: назва дисципліни, номер і найменування роботи, прізвище, ім'я, по батькові студента, дата виконання.

2.Постановка задачі. Варто дати конкретну постановку, тобто вказати які класи повинні бути реалізовані, які повинні бути в них конструктори, компоненти-функції і т.д.

3.Ієрархія класів у виді графа.

4.Визначення класів користувача з коментарями.

5.Реалізація конструкторів з параметрами і деструктора.

6.Реалізація методів для додавання об'єктів в список .

7. Реалізація методів для перегляду списку.

8.Лістінг демонстраційної програми.

9.Пояснення необхідності віртуальних функцій. Варто показати, які результати будуть у випадку віртуальних і не віртуальних функцій.

Варіант 1

  1. Створити абстрактний клас Figure з методами обчислення площі і периметра, а також методом, що виводить інформацію про фігуру на екран.
  2. Створити похідні класи: Rectangle (прямокутник), Circle (круг), Triangle (трикутник) з своїми методами обчислення площі і периметра.
  3. Створити масив n фігур і вивести повну інформацію про фігури на екран.

Варіант 2

  1. Створити абстрактний клас Function з методом обчислення значення функції y=f(x) в заданій точці
  2. Створити похідні класи: Line (y=ax+b), Kub (y=ax2+bx+c), Hyperbola з своїми методами обчислення значення в заданій точці.
  3. Створити масив n функцій і вивести повну інформацію про значення даних функцій в точці х.

Варіант 3

  1. Створити абстрактний клас Видання з методами дозволяючими вивести на екран інформацію про видання, а також визначити чи є дане видання шуканим.
  2. Створити похідні класи: Книга (назва, прізвище автора, рік видання, видавництво), Стаття (назва, прізвище автора, назва журналу, його номер і рік видання), Електронний ресурс (назва, прізвище автора, посилання, анотація) з своїми методами виведення інформації на екран.
  3. Створити каталог (масив) з n видань, вивести повну інформацію з каталога, а також організувати пошук видань по прізвищу автора.

Варіант 4

  1. Створити абстрактний клас Trans з методами дозволяючими вивести на екран інформацію про транспортний засіб, а також визначити вантажопідйомність транспортного засобу.
  2. Створити похідні класи: Легковая_машина (марка, номер, швидкість, вантажопідйомність), Мотоцикл (марка, номер, швидкість, вантажопідйомність, наявність коляски, при цьому якщо коляска відсутня, то вантажопідйомність рівна 0), Грузовик (марка, номер, швидкість, вантажопідйомність, наявність причепа, при цьому якщо є причіп, то вантажопідйомність збільшується в два рази) з своїми методами виведення інформації на екран, і визначення вантажопідйомності.
  3. Створити базу (масив) з n машин, вивести повну інформацію з бази на екран, а також організувати пошук машин, що задовольняють вимогам вантажопідйомності.

Варіант 5

  1. Створити абстрактний клас Persona з методами, дозволяючим вивести на екран інформацію про персону, а також визначити її вік (на момент поточної дати).
  2. Створити похідні класи: Абітурієнт (прізвище, дата народження, спеціальність), Студент (прізвище, дата народження, факультет, курс), Викладач (прізвище, дата народження, посада, стаж), з своїми методами виведення інформації на екран, і визначення віку.
  3. Створити базу (масив) з n персон, вивести повну інформацію з бази на екран, а також організувати пошук персон, чий вік потрапляє в заданий діапазон.

Варіант 6

  1. Створити абстрактний клас Товар з методами, дозволяючим вивести на екран інформацію про товар, а також визначити, чи відповідає вона терміну придатності на поточну дату.
  2. Створити похідні класи: Продукт (назва, ціна, дата виробництва, термін придатності), Партія (назва, ціна, кількість шт, дата виробництва, термін придатності), Комплект (назви, ціна, перелік продуктів) з своїми методами виведення інформації на екран, і визначення відповідності терміну придатності.
  3. Створити базу (масив) з n товарів, вивести повну інформацію з бази на екран, а також організувати пошук простроченого товару (на момент поточної дати).

Варіант 7

  1. Створити абстрактний клас Товар з методами, що дозволяють вивести на екран інформацію про товар, а також визначити, чи відповідає вона шуканому типу.
  2. Створити похідні класи: Іграшка (назва, ціна, виробник, матеріал, вік, на який розрахована), Книга (назва, автор, ціна, видавництво, вік, на який розрахована), Спорт-інвентар (назва, ціна, виробник, вік, на який розрахована), з своїми методами виведення інформації на екран, і визначення відповідності шуканому типу.
  3. Створити базу (масив) з n товарів, вивести повну інформацію з бази на екран, а також організувати пошук товарів певного типу.

Варіант 8

  1. Створити абстрактний клас Телефонний_довідник з методами, що дозволяють вивести на екран інформацію про записи в телефонному довіднику, а також визначити відповідність запису критерію пошуку.
  2. Створити похідні класи: Персона (прізвище, адреса, номер телефону), Організація (назва, адреса, телефон, факс, контактна особа), Друг (прізвище, адреса, номер телефону, дата народження) з своїми методами виведення інформації на екран, і визначення відповідності шуканому типу.
  3. Створити базу (масив) з n товарів, вивести повну інформацію з бази на екран, а також організувати пошук в базі по прізвищу.

Варіант 9

  1. Створити абстрактний клас Клієнт з методами, що дозволяють вивести на екран інформацію про клієнтів банку, а також визначити відповідність клієнта критерію пошуку.
  2. Створити похідні класи: Вкладник (прізвище, дата відкриття внеску, розмір внеску, відсоток по внеску), Кредитор (прізвище, дата видачі кредиту, розмір кредиту, відсоток по кредиту, залишок боргу), Організація (назва, дата відкриття рахунку, номер рахунку, сума на рахунку) з своїми методами виведення інформації на екран, і визначення відповідності даті (відкриття внеску, видачі кредиту, відкриття рахунку).
  3. Створити базу (масив) з n клієнтів, вивести повну інформацію з бази на екран, а також організувати пошук клієнтів, що почали співробітничати з банком в задану дату.

Варіант 10

  1. Створити абстрактний клас Программне_забезпечення з методами, що дозволяють вивести на екран інформацію про програмне забезпечення, а також визначити відповідність можливості використовування (на момент поточної дати).
  2. Створити похідні класи: Вільне (назва, виробник), Умовно-безкоштовне (назва, виробник, дата установки, термін безкоштовного використовування), Комерційне (назва, виробник, ціна, дата установки, термін використовування) з своїми методами виведення інформації на екран, і визначення можливості використовування на поточну дату.
  3. Створити базу (масив) з n видів програмного забезпечення, вивести повну інформацію з бази на екран, а також організувати пошук програмного забезпечення, яке допустимо використовувати на поточну дату.

Приклад коду в консольному режимі VS С++2008







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.