[МГТУ - 2 курс - ООП] Ответы ЛР3 (1077273)
Текст из файла
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? И как?
Почему бы и нет, блджад, если он родитель?
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.