377 стр. Глава 31
. Программа BUDGET
Создание списка счетов...378
Функция main( )
создаёт список объектов listAccounts, который имеет тип list< AccountPtr >. Теоретически я могу реализовать шаблон класса как list< Account* >
, но так поступают редко — дабы не портить определения внутри шаблонов классов STL, обычно используют синонимы указателей, полученные при помощи оператора typedef.
«Тип
AccountPtr определён с использованием ключевого слова typedef и представляет собой то же, что и Account*. Таким образом, везде, где написано AccountPtr, можно читать "указатель на Account".»[
Помни!]Функция main( )
передаёт список указателей на объекты Account функциям getAccounts( ) и displayResults( ). Метод getAccounts( ) добавляет объекты Account в конец списка при помощи функции-члена push_back( ).Функция displayResults( )
может удалять объекты Account из списка при помощи одного из предназначенных для этой цели методов; однако это будет так называемое деструктивное чтение, которое изменяет список ( в нашем случае — удаляя из него объекты ). Поскольку мы хотим иметь возможность работать со списком и после вывода его на экран, нам надо воспользоваться итератором — объектом, который указывает на объекты в списке. Программа в цикле перемещает итератор от одного элемента списка к следующему.Функция displayResults( )
определяет итератор iter в начале цикла while( ). Присвоение iter = accntList.begin( ) инициализирует объект iter первым элементом списка. Значение accntList.end( ) представляет собой "объект, непосредственно следующий за последним объектом в контейнере". Таким образом, цикл должен полностью обойти весь список к моменту, когда iter становится равным accntList.end( ). Выражение *iter даёт нам то, что можно назвать "текущим объектом", а выражение iter++ перемещает итератор к следующему объекту в списке.В остальном программа BUDGET5 эквивалентна программам BUDGET4 и BUDGET3.
_________________
378 стр. Часть 6
. Великолепная десятка
Приложение. Содержимое прилагаемого компакт-диска
На прилагаемом компакт-диске вы найдёте все полные исходные тексты программ, использованных в данной книге. В папке CPP_Programs тексты находятся в папках, соответствующих главам книги. Для удобства работы вам следует скопировать всю папку CPP_Programs к себе на жёсткий диск и работать с программами с жёсткого диска, что позволит вам редактировать программы, внося в них различные изменения.
Кроме того, в папке BUDGET имеется демонстрационное финансовое приложение. Здесь вы найдёте пять версий этого приложения — от простейшего к наиболее сложному, с использованием большого количества различных возможностей С++.
Если у вас не установлено программное обеспечение для работы с pdf
-файлами, то вы можете воспользоваться Acrobat Reader, который находится на прилагаемом компакт-диске в одноименном каталоге.На компакт-диске вы найдёте и описанную в книге среду программирования Dev-C++. Её инсталляционный файл devcpp4980.ехе
, который надо запустить для установки Dev-C++ на ваш компьютер, находится в папке devcpp.Кроме того, здесь же имеется документация ( на английском языке ) по стандартной библиотеке шаблонов ( STL ).
_________________
379 стр. Приложение
ПИКТОГРАММЫ
Технические подробности, которые можно пропустить при первом чтении.
ОГЛАВЛЕНИЕ
Часть 1. Первое знакомство с С++
Глава 1. Написание вашей первой программы 25
►Как пишут программы...26
Глава 4. Выполнение логических операций 55
►Использование простых логических операторов...55
Логические операции и действительные переменные...58
►Бинарные числа в С++...60
Глава 5. Операторы управления программой 66
►Выполнение циклов...68
Избегайте бесконечных циклов...73
Часть 3. Введение в классы 143
Глава 13. Работа с классами 154
►Добавление функции-члена...156
Создание функции-члена...156
►Вызов функций-членов...157
Именование текущего объекта...160
►Определение функции-члена...162