Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / ЭТМО / 15_Шаблоны.doc
Скачиваний:
36
Добавлен:
16.04.2013
Размер:
70.14 Кб
Скачать

Наследование в шаблонах классов

Шаблоны классов, как и классы, поддерживают механизм наследования. Все основные идеи наследования при этом остаются неизменными, что позволяет построить иерархическую структуру шаблонов, аналогичную иерархии классов.

Рассмотрим совершенно тривиальный пример, на котором продемонстрируем, каким образом можно создать шаблон класса, производный из нашего шаблона класса Pair. Пусть это будет класс Trio, в котором к паре элементов a и b из Pair, добавим еще один c.

template <class T>

class Trio: public Pair <T>

{

T c;

public:

Trio (T t1, T t2, T t3);

...

};

template <class T>

Trio<T>::Trio (T t1, T t2, T t3): Pair <T> (t1, t2), c(t3)

// Заметьте, что вызов родительского конструктора

// также сопровождается передачей типа Т в качестве параметра.

{}

Контрольные вопросы

  1. Что такое шаблоны и с какой целью они используются?

  2. Какого типа шаблоны используются в программах?

  3. Как оформляются шаблоны функций?

  4. Какие требования предъявляются к фактическим параметрам шаблонов?

  5. Какие преимущества программы обеспечиваются при использовании шаблонов классов?

Порядок выполнения лабораторной работы

  1. На лабораторной работе набрать текст программы и отладить ее.

  2. Показать результат работы программы преподавателю.

  3. Защитить лабораторную работу.

Требования к отчету

Отчет должен содержать:

  1. конспект теоретической части;

  2. лабораторное задание;

  3. порядок выполнения лабораторной работы;

  4. результаты выполнения программ.

Варианты заданий

Номер варианта

Задание

1,15

Опишите параметризованный класс список элементов (параметр – тип).

2,16

Опишите параметризованный класс двусвязный список элементов (параметр – тип).

3,17

Опишите параметризованный класс очередь элементов (параметр – тип).

4,18

Опишите параметризованный класс стек элементов (параметр – тип).

5,19

Опишите параметризованный класс стек элементов ограниченной ёмкости (параметр – тип и число).

6,20

Опишите параметризованный класс геометрическая фигура на плоскости (параметр – тип и число).

7,21

Опишите параметризованную функцию сортировки вставкой.

8,22

Опишите параметризованную функцию сортировки выборкой.

9,23

Опишите параметризованную функцию сортировки пузырьком.

10,24

Опишите параметризованную функцию нахождения элемента в неупорядоченном массиве.

11,25

Опишите параметризованную функцию нахождения элемента в упорядоченном массиве.

12,26

Опишите параметризованную функцию замены одного элемента массива на другой.

13,27

Опишите параметризованную функцию инверсии массива элементов.

14,28

Опишите параметризованную функцию вычисления среднего массива элементов.

134

Соседние файлы в папке ЭТМО