- •6 Глава 1
- •12 Глава 1
- •14 Глава 1
- •16 Глава 1
- •18 Глава 1
- •20 Глава 1
- •22 Глава 1
- •24 Глава 1
- •26 Глава 1
- •31 Глава 1
- •34 Глава 2
- •36 Глава 2
- •Puc. 2.4. Дополнительные опции консольного приложения Win32
- •38 Глава 2
- •40 Глава 2
- •42 Глава 2
- •44 Глава 2
- •48 Глава 2
- •50 Глава 2
- •52 Глава 2
- •54 Глава 2
- •56 Глава 2
- •58 Глава 2
- •60 Глава 2
- •62 Глава 2
- •64 Глава 2
- •66 Глава 2
- •68 Глава 2
- •70 Глава 2
- •74 Глава 2
- •76 Глава 2
- •79 Глава 2
- •82 Глава 2
- •84 Глава 2
- •86 Глава 2
- •88 Глава 2
- •92 Глава 2
- •94 Глава 2
- •96 Глава 2
- •98 Глава 2
- •103 Глава 2
- •105 Глава 2
- •107 Глава 2
- •110 Глава 2
- •115 Глава 3
- •119 Глава 3
- •121 Глава 3
- •123 Глава 3
- •125 Глава 3
- •129 Глава 3
- •131 Глава 3
- •133 Глава 3
- •139 Глава 3
- •141 Глава 3
- •143 Глава 3
- •145 Глава 3
- •148 Глава 3
- •150 Глава 3
- •155 Глава 3
- •165 Глава 4
- •168 Глава 4
- •170 Глава 4
- •173 Глава 4
- •175 Глава 4
- •178 Глава 4
- •184 Глава 4
- •186 Глава 4
- •188 Глава 4
- •190 Глава 4
- •192 Глава 4
- •194 Глава 4
- •198 Глава 4
- •201 Глава 5
- •203 Глава 5
- •205 Глава 5
- •207 Глава 5
- •213 Глава 5
- •217 Глава 5
- •219 Глава 5
- •221 Глава 5
- •223 Глава 5
- •225 Глава 5
- •227 Глава 5
- •232 Глава 5
- •234 Глава 5
- •236 Глава 5
34 Глава 2
Структура программы С++
Программы, запускаемые как консольные приложения под Visual С++ 2005, чита- ют данные из командной строки и туда же выводят результаты. Чтобы избежать не- обходимости погружения в сложности, связанные с созданием и управлением окнами приложений, пока у вас нет достаточного объема знаний, чтобы понять их работу, все примеры, которые вы напишете в процессе первоначального изучения языка С++, будут консольными программами — как консольными программами Win32, так и консольными программами .NET. Это позволит вам полностью сосредоточиться на языке С++. Только когда вы освоите его в достаточной мере, тогда будете готовы к тому, чтобы создавать и управлять оконными приложениями. Для начала вы узнаете, каким образом структурированы консольные программы.
Программа на С++ состоит из одной или более функций. В главе 1 вы видели при- мер консольной программы Win32, состоящей из единственной функции, где — имя функции. Каждая программа С++ стандарта ANSI/ISO содержит функ- цию main (), и все программы С++ любого размера состоят из нескольких функций — функции main (), с которой начинается выполнение программы и некоторого коли- чества других функций. Функция — просто самодостаточный блок кода с уникальным именем, которое используется для запуска его на выполнение. Как было показано в главе 1, консольная программа Win32, сгенерированная мастером создания приложе- ний (Application Wizard), имеет главную функцию по имени tmain. По действующе- му соглашению в Visual С++ главная функция должна называться main или wmain — в зависимости от того, использует программа символы Unicode или нет. Имена wmain и tmain специфичны для Microsoft. Имя главной функции, отвечающей стандар- ту ISO/ANSI языка С++ — main. Я буду использовать имя main во всех примерах ISO/ANSI С++.
Типичная программа командной строки может быть структурирована, как показа- но на рис. 2.1.
На рис. 2.1 видно, что выполнение программы начинается с начала функции main (). Из main () управление передается функции input_names (), которая воз- вращает его в позицию, следующую непосредственно за той точкой, из которой она была вызвана в main (). Затем из main () вызывается функция sort_names () и, по- сле возврата управления в main (), вызывается финальная функция output_names (). В конечном итоге, после завершения вывода, управление опять возвращается в main () и на этом программа завершается.
Конечно, разные программы могут иметь совершенно различную функциональную структуру, однако все они начинают выполнение с начала main (). Принципиальная выгода от разделения программы на функции состоит в том, что вы можете писать и отлаживать их по отдельности. Есть и дополнительная выгода, которая заключается в том, что функции, написанные для выполнения определенных задач, могут быть по- вторно использованы в других программах. Библиотеки, поставляемые с С++, предо- ставляют множество стандартных функций, которые вы можете применять в своих программах. Они могут избавить вас от огромного объема рутинной работы.
Подробнее о создании и использовании функций вы узнаете в главе 5.
Данные,
переменные и вычисления
Рис.
2.1. Структура типичной программы
командной строки
Простой пример поможет вам лучше понять элементы программы. Начните с создания нового проекта — вы можете воспользоваться комбинацией клавиш <Ctrl+Shift+N> для ускорения этой операции. Когда появится диалоговое окно New Project (Новый проект), показанное на рис. 2.2, выберите Win32 в качестве типа про- екта и Win32 Console Application (Консольное приложение Win32) — в качестве ша- блона. Назовите проект Ех2_01.
Если вы щелкнете на кнопке ОК, то увидите новое диалоговое окно, которое по- казывает обзор того, что сгенерирует мастер Application Wizard (рис. 2.3).
Если теперь вы щелкнете на ссылке Application Settings (Настройки приложения) в левой части диалогового окна, то увидите дополнительные опции приложения Win32, как показано на рис. 2.4.