Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Надейкина_ПРОГРАММИРОВАНИЕ_лабы12_13_14_new.doc
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
4.21 Mб
Скачать

2.3 Задание на выполнение лабораторной работы

Создать шаблон заданного контейнерного класса и реализовать его для данных различных типов.

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

    1. Определить шаблон заданного класса, в соответствии с вариантом. Определить конструкторы, деструктор, перегруженную операцию присваивания ("=") и операции, заданные в варианте задания.

    2. Написать программу тестирования, в которой проверяется использование шаблона для стандартных типов данных. Выполнить тестирование.

    3. Определить пользовательский класс, который будет использоваться в качестве параметра шаблона. Определить в классе необходимые функции и перегруженные операции.

    4. Написать программу тестирования, в которой проверяется использование шаблона для пользовательского типа. Выполнить тестирование.

2.5. Методические указания

  1. Класс одномерный массив реализовать

  1. Как динамический массив (вектор), для этого определение класса должно иметь следующие поля:

  • указатель на начало массива;

  • текущий размер массива.

  1. Как массивов ограниченной размерности, должен иметь паля:

  • одномерный массив и размер массива,

  • размер массива определяется нетипизирующем параметром шаблона.

  1. Для ввода и вывода определить в классе функции input и print.

  1. Аккуратно работать с константными объектами. Например:

- конструктор копирования следует определить так:

MyTmp (const MyTmp& ob);

- операцию присваивания перегрузить так:

MyTmp& operator = (const MyTmp& ob);

  1. Для шаблонов списков, стеков и очередей в качестве стандартных типов использовать символьные, целые и вещественные типы. Для пользовательского типа взять класс из лабораторной работы № 8.

  1. Для шаблонов массивов в качестве стандартных типов использовать целые и вещественные типы. Для пользовательского типа взять пользовательский класс "комплексное число" - complex.

class complex {

int re, im; // действительная и мнимая части

public: // необходимые функции и перегруженные операции

};

  1. Определение шаблона следует разместить вместе с определением пользовательского класса в заголовочном файле.

  1. Тестирование должно быть выполнено для всех типов данных и для всех операций.

2.6. Содержание отчета

  1. Титульный лист: название дисциплины, номер варианта и наименование работы, фамилия, имя, отчество студента, дата выполнения.

  2. Краткие теоретические сведения.

  3. Техническое задание в соответствии с вариантом работы.

  4. Следует дать конкретное задание, то есть указать шаблон, какого класса должен быть создан, какие должны быть в нем конструкторы, компонентные функции, перегруженные операции и т.д.

  5. То же самое следует указать для пользовательского класса.

  6. Определение шаблона класса с комментариями.

  7. Определение пользовательского класса с комментариями.

  8. Реализация конструкторов, деструктора, операции присваивания и перегружаемых операций, которые заданы в варианте задания.

  9. То же самое для пользовательского класса.

  10. Реализация перегруженных операций.

  11. Результаты тестирования (экранные формы). Следует указать для каких типов, и какие операции проверены.