Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи по програмуванні(14 лаб).doc
Скачиваний:
77
Добавлен:
16.05.2015
Размер:
1.43 Mб
Скачать

Контрольні запитання

  1. Що таке просте спадкування?

  2. Що таке множинне спадкування?

  3. Процедура ініціалізації множинного спадкування.

  4. Наведіть приклад простого спадкування.

  5. Наведіть приклад множинного спадкування.

  6. Правила множинного спадкування.

  7. Наведіть розширену форму опису конструктора похідного класу, який

наслідує декілька базових класів.

  1. Як викликати функцію базового класу з об’єкта похідного класу, якщо в

похідному класі ця функція була перевизначена?

  1. Якщо в базовому класі функція описана віртуальною, а в похідному класі

ключове слово VIRTUAL при перевизначені цього класу не використано, то чи буде ця функція віртуальною при наслідуванні її класом 3 покоління?

  1. Для чого використовується ключове слово PROTECTED?

  2. Як створити віртуальний конструктор копій?

Лабораторна робота №10

Тема: Особливості розробки шаблонів класів та функцій.

Мета: Набуття навичок студентами в розробці шаблонів класів та функцій.

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

    1. Ознайомитись з теоретичною частиною даної теми.

    2. Розробити структуру шаблону класу відповідно Завдання 1.

    3. Розробити програму з використанням шаблону класу обробки простих даних і одновимірних масивів відповідно Завдання 1 для заданих типів даних.

4. Розробити 2-3 теста для перевірки правильності роботи розробленої програми.

5. Оформити звіт до лабораторної роботи.

Завдання 1

      1. Шаблон класу для перетворення заданого масиву даних таким чином, щоб кожен елемент масиву був отриманий як квадрат кожного елемента (для типів int, float, long).

      2. Шаблон класу для перетворення заданого масиву таким чином, щоб кожен елемент масиву був отриманий як exp кожного елемента (для типів int, float, long).

      3. Шаблон класу для визначення середнього арифметичного елементів заданого масиву (для типів int, float, long).

      4. Шаблон класу для визначення мінімального елементу заданого масиву (для типів int, float, long).

      5. Шаблон класу дял визначення максимального елементу заданого масиву (для типів int, float, long).

      6. Шаблон класу для сортування масиву по зростанню (для типів int, float, long).

      7. Шаблон класу для перетворення масивів з типу 1 до типу 2 (int ­––> char).

      8. Шаблон класу для перетворення масивів з типу 1 до типу 2 (char ­––> int).

      9. Шаблон класу для вставки в текстовий файл нижче заданої стрічки певної кількості стрічок.

      10. Шаблон класу для видалення з текстового файлу заданої стрічки з заданої позиції.

Теоретичні відомості Шаблони

Подібно тому, як клас фактично являє собою схематичний опис побудови об'єктів, так і шаблон є схематичним описом побудови класів та функцій. Використовуючи шаблони, з'являється можливість створювати узагальнені специфікації для класів та функцій, що найчастіше носять назву параметризованих класів (generic classes) та параметризованих функцій (generic functions). Таким чином, за допомогою реалізації узагальнених функцій можна зменшити розмір та складність програми. Особливо корисними шаблони є саме в бібліотеках класів - тут вони вказують програмісту необхідні специфікації, приховуючи при цьому деталі справжньої реалізації.