[МГТУ - 2 курс - ООП] Ответы ЛР3 (Лабораторная работа №3)
Описание файла
Файл "[МГТУ - 2 курс - ООП] Ответы ЛР3" внутри архива находится в следующих папках: Лабораторная работа №3, [ООП - 2 курс] Лабораторная работа №3. Документ из архива "Лабораторная работа №3", который расположен в категории "". Всё это находится в предмете "объектно-ориентированное программирование (ооп)" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "объектно-ориентированное программирование (ооп)" в общих файлах.
Онлайн просмотр документа "[МГТУ - 2 курс - ООП] Ответы ЛР3"
Текст из документа "[МГТУ - 2 курс - ООП] Ответы ЛР3"
1) Поясните структуру классов для LIST по диаграмме классов?
List <- Collection <- Container <- Object
2) Какие данные и методы определены в этом классе?
Конструктор List, деструктор ~List, добавление объекта add, удаление одного объекта detach, удаление всех объектов flush, ещё там всякая фигня, объект *data, указатель на следующий объект *next
3) Для чего используется класс LISTITERATOR? Его методы?
Было уже, то же что и в ArrayIterator
4) Поясните структуру объектов для программы по диаграмме объектов? Какие объекты являются временными, и какие сохраняются в программе все время ее работы?
Вот я тебя не понял
5) Что такое наследование классов? Поясните на примере MyObj?
Наследование классом-потомком свойств и методов класса-предка. MyObj наследует и переопределяет от Object методы вывода на экран объектов класса ну и всякое такое
6) Для чего нужен класс Object в системе классов BC 3.1?
Ну вот нужен. Задаёт ряд некоторых общих для всех классов-потомков свойств и методов
7) Что такое абстрактный класс?
Объекты которого не создаются. Нужен только для наследования от него
8) Какие преимущества появляются у программиста при использовании проектов в BC++?
Это строго кому как удобно. Мне проще пока без них
9) Какие классы являются дружественными классу LIST, классу ListElement? Покажите эти отношения на диаграмме классов.
ListIterator и ListBlockInitializer. Не знаю, где это видно на диаграмме, я посмотрел в заголовочном файле
10) В каком отношении находятся классы LIST и ListElement?
ВНЕЗАПНО ListElement объявлен в приватной секции класса List
11) Почему нужно перегружать стандартные виртуальные функции класса Object?
Потому что класс Object применяется для разных объектов, I think so?
12) Для чего может быть использован метод – findPred класса LIST? Можно ли его использовать в программе, в порожденном классе? Если нет, то почему?
Для поиска позиции элемента в списке? А почему бы и нельзя его использовать? Порождённый класс унаследует этот метод
13) Как должен быть описан класс наследник от Object(MyObj)?
Строго латинскими буквицами
14) Назначение и использование метода detach, flush? Чем они отличаются?
Для удаления элементов из списка. Первый удаляет один, второй – все
15) Назначение и использование методов int, restart и current?
int – указатель на элемент, restart – сброс итератора на ноль, current - текущий элемент
16) Поясните запись – “ListIterator LBI((List)LB);”?
Создать объект LBI класса ListIterator для списка LB
17) Поясните записи – “int(LBI)” и “LBI++”?
Эммм…
18) Что нужно для просмотра классов программы? Как ее распечатать?
С добрым утром! Ещё в первой работе это делали
19) Для чего нужен класс ListElement и где можно найти его описание?
Для описания элемента списка. В заголовочном файле list.h
Ваш К.О.
20) Можно ли создавать объекты класса ListElement вне методов класса LIST?
Сильно сомневаюсь. См. пункт 10
21) Можно ли по текущему элементу списка определить следующий или предыдущий объект списка?
Следующий – запросто. На то он и список, всегда есть указатель на следующий элемент. А вот предыдущий - увы
22) Какие чистые виртуальные функции переопределены в класса LIST?
Тысячи их. Например, isA, nameOf, add, detach, flush
23) Какие чистые виртуальные функции переопределены в класса LISTITERATOR?
Ты меня достал, уже 2:40, я спать хочу
24) Можно ли удалить элемент в списке по номеру?
ДА. О чём мы тут уже 24 вопроса разговариваем?
25) Почему новые объекты могут быть добавлены только в начало списка? Пояснить по распечатке метода add в исходном модуле.
Смотря что считать началом. Вообще-то, элементы добавляются в конец, так как указатель ведёт на следующий элемент, а не на предыдущий
26) Можно ли использовать для объектов класса LIST методы printHeader, printSeparator и printTrailer из класса родителя Container класса LIST? И как?
Почему бы и нет, блджад, если он родитель?