428_____________________Часть III. Современное программирование на C++
своим членам с помощью функций-членов push (положить) и pop (снять). Некоторые функции-члены содержатся во всех классах-контейнерах. К таким общим функциям-членам относятся isEmpty (пуст) и isFull (полон).
Для использования библиотеки BIDS ее необходимо включить в проект. Имена библиотечных файлов имеют вид BIDSx.LIB, где х означает модель памяти: S=small, C=compact, M=medium, L=large, H=huge и F=flat (32-разрядная). Разумеется, для класса-контейнера должен быть подключен и соответствующий заголовочный файл:
ftinclude <classlib\arrays.h>
По умолчанию заголовки BIDS находятся в каталоге \BC5\INCLUDE\ CLASSLIB.
Поскольку каталог Include входит в список каталогов, используемых Borland IDE по умолчанию, то вносить Classlib в список подключаемых в проекте каталогов не обязательно.
Шаблоны и их реализация
Объекты библиотеки BIDS реализованы как классы-шаблоны, которые более детально будут описаны в главе 19. Шаблоны позволяют достаточно просто использовать контейнеры для любого типа данных. Так, для объявления массива целых чисел допустимо следующее выражение:
TArrayAsVector<int> intArray(lO) ;
Массив intArray может содержать 11 чисел (параметр 10 является верхней границей индексов массива). Размер массива может увеличиваться по мере добавления элементов массива или при обращении по индексу, большему 10, при условии, что массив был объявлен следующим образом:
TArrayAsVector<float> floatArray(100, 0, 5);
Массив floatArray имеет исходный размер в 101 элемент с начальным индексом, равным 0 (второй параметр). В случае добавления элементов с индексом, большим 100, к размеру массива добавляется значение, кратное 5 (третий параметр) так, чтобы индекс попал в новые границы массива.
Совет
Код вашей программы будет легче читать и модифицировать, если для определения классов-контейнеров использовать ключевое слово typedef. В предыдущем примере для определения типа целочисленного массива можно написать ,
typedef TArrayAsVector<int> INT_CONTAINER;
После этого для объявления переменных данного типа (массив целых чисел) допустимо выражение:
INT_CONTAINER intList(10, 0, 5);