- •99. Типы диаграмм языка uml
- •98. Унифицированный язык моделирования uml.
- •100. Диаграмма классов (class diagram).
- •Концептуальная точка зрения — диаграмма классов описывает модель предметной области, в ней присутствуют только классы прикладных объектов;
- •Точка зрения спецификации — диаграмма классов применяется при проектировании информационных систем;
- •Точка зрения реализации — диаграмма классов содержит классы, используемые непосредственно в программном коде (при использовании объектно-ориентированных языков программирования).
- •102. Компонентно-ориентированное проектирование
- •Объектно-ориентированное проектирование на основе иерархии классов.
- •93. Гетерогенные контейнеры adt шаблонов
- •Компонентные классы как основа систем визуального программирования.
- •Построение каркасов приложений в среде современных систем программирования.
- •Производные классы: наследование.
- •Термин наследование и применение к классам и их характеристикам
- •Создание объекта производного класса.
- •Расширение производного класса.
- •Создание объекта производного класса и вызов конструкторов
- •Производные классы: полиморфизм.
- •Множественное наследование в классе, порождённом от нескольких родительских классов-предков.
- •Производные классы: полиморфная функция
- •Иерархия классов
- •39.Простые манипуляторы для управления потоком
- •Прядок вызова конструкторов в производных классах
- •Виртуальные базовые классы.
- •Порядок построения виртуальных базовых классов.
- •25. Указатель на абстрактный класс.
- •28.Технология объектно-ориентированного программирования.
- •Интерфейс пользователя и абстрактный класс.
- •35.Предопределенные объекты-потоки.
- •29. Применение шаблонов классов и шаблонов функций.
- •30.Объекты класса и указатели на объекты класса.
- •31.Члены данных объекта и указатели на члены данных класса.
- •32.Указатели на функции-члены класса и указатели на статические члены данных.
- •36.Стандартный ввод-вывод.
- •34.Создание и организация взаимодействие потоков ввода-вывода.
- •37.Методы позиционирования потоков.
- •38.Способы управления форматом выходных данных.
- •42.Организация ввода-вывода для пользовательского типа
- •40.Параметризованные манипуляторы и форматирующие функции.
- •41.Состояния потока.
- •43.Методы опроса и установки состояния потока.
- •44.Обработка ошибок в потоке через определение и установку состояния потока.
- •45.Последовательность действий при создании ostream.
- •46.Открытие и закрытие файла.
- •47.Методы ввода-вывода.
- •13.Преобразование типов в производных классах.
- •14.Разрешение области видимости в производных классах
- •15.Виртуальные функции.
- •16.Нестатические компонентные функции класса.
- •17.Применение виртуальных функций.
- •18.Вызов виртуальных функций в конструкторе.
- •19.Вызов полиморфных функций базового класса.
- •20.Вызов полиморфных функций через базовые классы.
- •21.Вызов виртуальной функции через таблицу виртуальных методов.
- •22.Ограничения на использование виртуальных функций.
- •23.Чистая виртуальная функция.
- •24.Абстрактный класс и его использование.
- •80.Контейнер объектов List
- •82.Контейнеры шаблонов fds (Fundamental Data Structures).
- •76.Класс итераторов объектов: внешние и внутренние итераторы.
- •81.Контейнер объектов Stack
- •71.Контейнерные классы объектов: понятие контейнерного класса.
- •72.Итераторы в контейнерных классах объектов как друзья класса.
- •48.Бинарные файлы.
- •49.Чтение бинарных файлов.
- •50.Запись в бинарные файлы.
- •51.Инициализация потоков с помощью конструктора.
- •52.Текстовые файлы для ввода-вывода.
- •60.Дружественные шаблоны.
- •53.Форматирование в памяти с использованием потоков strstream.
- •54.Шаблон класса.
- •69.Механизм обработки исключений.
- •56.Создание шаблонного класса.
- •57.Шаблон функции, объявление.
- •61.Функциональное замыкание при разработке приложений.
- •58.Запись шаблона функции с несколькими обобщенными аргументами.
- •65.Исключение как статический объект.
- •64.Объектно-ориентированный подход к обработке исключений.
- •66.Генерации исключения.
- •85.Гомогенные и гетерогенные контейнеры шаблонов fds.
- •63.Использование конструкторов и деструкторов в роли «вступления» и «заключения».
- •67.Операторы throw и catch.
- •68.Обработчик исключений.
- •70.Понятие контролируемого блока при обработке исключений.
- •84.Способы хранения элементов в контейнерах шаблонов fds.
- •83.Вектора и списки в контейнере шаблонов.
- •Стандартные контейнеры библиотеки stl
- •86.Fds контейнеры шаблонов векторов
- •62.Функциональное замыкание через наследование.
- •87.Fds контейнеры шаблонов списков
- •89.Способы реализации и префиксы имен adt-контейнеров шаблонов.
- •88.Контейнеры шаблонов adt (Abstract Data Types) и их классификация.
- •90.Типы adt-контейнеров шаблонов.
- •91.Массивы adt-контейнеров шаблонов.
- •92.Стеки adt-контейнеров шаблонов.
- •78.Контейнер объектов Array
- •74.Класс контейнеров объектов: разбиение контейнеров на группы.
- •77.Иерархия классов итераторов объектов
- •79.Контейнер объектов SortedArray
- •73.Библиотека контейнерного класса структур данных.
79.Контейнер объектов SortedArray
SORTEDARRAY
Name
SORTEDARRAY -- Класс предназначен для управления сортированными данными.
Synopsis
tSortedArrayNew() --> SortedArray object
tSortedArray() --> SortedArray object
Description
Класс предназначен для управления сортированными данными.
Attributes
<Items> Array, массив
<Error> String, содержит описание ошибки, если она произошла.
<Found> Logical, если TRUE, то поиск был успешен.
Methods
ADD Добавить новый элемент.
DEL Удалить элемент из массива.
DELITEM Удалить элемент по индексу.
GETDATA Вернуть по индексу значение.
GETFIRST Вернуть значение первого элемента сортированного массива
GETITEM Вернуть элемент по индексу.
GETKEY Получить ключ элемента по индексу.
GETLAST Вернуть значение последнего элемента сортированного массива
HARDSEEK Жесткий поиск.
LEN Вернуть длину отсортированного массива.
SEEK Поиск элемента в массиве
SOFTSEEK Мягкий поиск элемента.
TSORTEDARRAYNEW Конструктор класса SORTEDARRAY.
73.Библиотека контейнерного класса структур данных.
Контейнеры - это объекты, реализующие общие структуры данных, предлагающие функции-элементы для доступа к каждому элементу данных и добавления таких элементов. При этом внутренние детали скрыты от пользователей. Контейнеры могут содержать целые и вещественные числа, строки, структуры, классы, типы, определенные пользователями, и любые объекты C++.
Контейнеры Borland реализуются с помощью шаблонов. Вы можете передавать в шаблон любой тип объекта, который хотите включить в контейнер. Это облегчает, например, инициализацию массивов.
Библиотеку класса контейнера можно разделить на две категории: фундаментальные структуры данных FDS (Fundamental Data Structures) и абстрактные типы данных ADT (Abstract Data Types)
Контейнеры и файлы заголовков Borland
Структуры FDS - это контейнеры нижнего уровня, реализующие структуры памяти. Каждая FDS имеет фундаментальные функции добавления и отсоединения. Типы ADT обычно используются в конструкциях обработки данных. Каждый тип ADT имеет соответствующие методы, например, контейнеры стека - функции-элементы Push и Pop.
Каждый тип ADT основан на FDS. Например, TArrayAsVector реализует массив, используя в качестве соответствующей структуры FDS вектор. Контейнеры ADT используют характеристики хранения соответствующих FDS и добавляет специфические методы доступа, которые делают каждый из них уникальным.
Контейнеры могут хранить копии объектов (прямые контейнеры) или указатели на объекты (косвенные контейнеры). Например, следующий контейнер является косвенным массивом, в котором хранятся указатели на значения float:
TIArraysAsVector<float> FloatPtrArray(10);
где I - имя шаблона, указывающее соответствующий контейнер.
В некоторых типах контейнеров содержимое записывается в отсортированном виде. Отсортированные контейнеры (как косвенные, так и прямые) должны иметь соответствующую операцию <, что позволяет определить порядок элементов. Эти операции предусмотрены для предопределенных типов. Для типов, определенных пользователем, вы должны обеспечить такую операцию. Для прямых объектов тип должен иметь допустимую операцию == - используемый по умолчанию конструктор. Для косвенных контейнеров сортируются объекты, а не указатели, которые содержит контейнер.