Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
17.04.2013
Размер:
89.6 Кб
Скачать

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

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

Рассмотрим очень простой пример, на котором продемонстрируем, каким образом можно создать шаблон класса, производный из нашего шаблона класса 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

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

230

Соседние файлы в папке Разработки из универа