
- •1. Цель и задачи работы
- •2. Теоретические сведения
- •3. Оборудование
- •4. Задание на работу
- •5. Порядок выполнения работы
- •6. Оформление отчета
- •7. Контрольные вопросы
- •1. Цель и задачи работы
- •2. Теоретические сведения
- •3. Оборудование
- •4. Задание на работу
- •5. Порядок выполнения работы
- •6. Оформление отчета
- •7. Контрольные вопросы
- •1. Цель и задачи работы
- •2. Теоретические сведения
- •3. Оборудование
- •4. Задание на работу
- •5. Порядок выполнения работы
- •6. Оформление отчета
- •7. Контрольные вопросы
- •1. Цель и задачи работы
- •2. Теоретические сведения
- •3. Оборудование
- •4. Задание на работу
- •5. Порядок выполнения работы
- •6. Оформление отчета
- •7. Контрольные вопросы
- •1. Цель и задачи работы
- •2. Теоретические сведения
- •3. Оборудование
- •4. Задание на работу
- •5. Порядок выполнения работы
- •6. Оформление отчета
- •7. Контрольные вопросы
- •1. Цель и задачи работы
- •2. Теоретические сведения
- •3. Оборудование
- •4. Задание на работу
- •5. Порядок выполнения работы
- •6. Оформление отчета
- •7. Контрольные вопросы
- •1. Цель и задачи работы
- •2. Теоретические сведения
- •3. Оборудование
- •4. Задание на работу
- •5. Порядок выполнения работы
- •6. Оформление отчета
- •7. Контрольные вопросы
- •1. Цель и задачи работы
- •2. Теоретические сведения
- •3. Оборудование
- •4. Задание на работу
- •5. Порядок выполнения работы
- •6. Оформление отчета
- •7. Контрольные вопросы
5. Порядок выполнения работы
5.1. Проверить наличие на компьютере необходимого аппаратного оборудования и программного обеспечения, наличие 200 Мб свободной памяти на логическом диске, содержащем каталог Tprog\Lab4, наличие файла Labtprog4.doc и исходных файлов в подкаталогах Vect1 (Vect1.h, Vect1.cpp, Vectprog1.cpp), List1 (Str1.h, Str1.cpp, List1.h, List1.cpp, Lstprog1.cpp), List2 (Str1.h, Str1.cpp, List2.h, List2.cpp, Lstiter.h, Lstprog2.cpp), VectIterator (Vect2.h, Vectiter.h, Vect2.cpp, Vectprog2.cpp) каталога Tprog\Lab4.
5.2. Создать личный каталог, в котором будут размещаться создаваемые во время лабораторной работы проекты.
5.3. Создать в личном каталоге пустой проект Vect1 неуправляемого консольного приложения, выбирая в IDE-среде в меню File следующую последовательность опций: New->Project-> Other Language ->Visual C++ -> Win32 -> Win32 Console Application -> Empty Project, а затем добавить в него файлы Vect1.h, Vect1.cpp, Vectprog1.cpp, предварительно выполнив копирование их в каталог Vect1/Vect1. По команде Ctrl+F5 откомпилировать проект и выполнить приложение. Проверить правильность работы приложения.
5.4. Повторить выполнение пункта 5.3 для приложений List1, List2, VectIterator. В проектах приложений List1 и List2 перед компиляцией и выполнением по Ctrl+F5 необходимо задать аргументы командной строки (например, aaaaa bbbbbb cccccc) следующим образом: выделить имя проекта в окне Solution Explorer и выбрать в меню Project последовательность опций: Properties->Configuration Properties -> Debugging -> Command Arguments -> Edit … -> aaaaa bbbbbb cccccc -> OK.
5.5. Разработать и отладить объектно-ориентированную программу на неуправляемом (unmanaged) языке С++ в интегрированной среде разработки приложений Visual Studio 2010 в соответствии с заданием преподавателя. Если при отладке возникают проблемы с устранением ошибок в программе, необходимо выделить ошибку в окне Error List и нажать клавишу F1. В появившемся окне документации MSDN будет приведены примеры исправления ошибки.
6. Оформление отчета
Отчет должен содержать:
цель работы и индивидуальное задание;
тексты исходных файлов, содержащие описание и реализацию классов, используемых в лабораторной работе;
файлы *.h и *.cpp, содержащие описание и реализацию классов в соответствии с заданием преподавателя;
текст тестовой программы и результаты работы программы;
краткая информация о механизмах включения и наследования.
7. Контрольные вопросы
7.1. Какие классы называются контейнерными ?
7.2. Почему недостаточно использовать функцию-элемент next() для отслеживания элементов контейнерного объекта?
7.3. Какую функцию-элемент класса обычно заменяют на операторную функцию operator()()?
7.4. Чем различается реализация операторных функций operator()() для классов Vect и List?
7.5. Укажите назначение итераторов.
7.6. Почему класс итератора должен быть дружественным для контейнерного класса?
7.7. Чем отличаются итераторы классов List и Vect?
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Подбельский, В.В. Язык Си+ : учеб.пособие для вузов / В.В.Подбельский .— 5-е изд. — М. : Финансы и статистика, 2007 (2001, 2002, 2003, 2004, 2005, 2006).— 560с. : ил.
2. Павловская, Т.А. C/C++:Программирование на языке высокого уровня : учебник для вузов / Т.А.Павловская .— М.[и др.] : Питер, 2007 (2002, 2003, 2004, 2005, 2006) .— 461с. : ил.3. Гарнаев А.Ю. Самоучитель Visual Studio .Net 2003. – СПб.: БХВ-Петербург, 2003. – 688 с.
3. Шилдт, Г. C+ : базовый курс / Г.Шилдт;пер.с англ.и ред.Н.М.Ручко .— 3-е изд. — М.[и др.] : Вильямс, 2007 (2005) .— 624с. : ил.5. Уоткинз Д., Хаммонд М., Эйбрамз Б. Программирование на платформе .NET. – М.: Издательский дом "Вильямс", 2003. – 368 с.
4. MSDN 2010. Электронная документация Microsoft для разработчиков программного обеспечения. – 500000 с.
ЛАБОРАТОРНАЯ РАБОТА N 5
Наследование в объектно-ориентированных программах на языке С++