Прежде чем приступить к написанию программ, необходимо изучить структуру программ на языке программирования С++. Своими словами, структура программ это разметка рабочей области (области кода) с целью чёткого определения основных блоков программ и синтаксиса. Структура программ несколько отличается в зависимости от среды программирования. Мы ориентируемся на IDE Microsoft Visual Studio, и по этому примеры программ будут показаны именно для MVS. Если вы используете другую IDE, то вам не составит труда перенести код из MVS в другие среды разработки, и вы поймете со временем, как это сделать.
Структура программ для Microsoft Visual Studio.
В строке 1 говорится о точке входа для консольного приложения, это значит, что данную программу можно запустить через командную строку Windows указав имя программы, к примеру, такое struct_program.cpp . Строка 1 является однострочным комментарием, так как начинается с символов // , подробнее о комментариях будет рассказано в следующей статье. В строке 2 подключен заголовочный файл "stdafx.h" . Данный файл похож на контейнер, так как в нем подключены основные препроцессорные директивы (те, что подключил компилятор, при создании консольного приложения), тут же могут быть подключены и вспомогательные (подключенные программистом).
include — директива препроцессора, т. е. сообщение препроцессору. Строки, начинающиеся с символа # обрабатываются препроцессором до компиляции программы.
Препроцессорные директивы также можно подключать и в строках, начиная после записи #include "stdafx.h" до начала главной функции. Причём такой способ подключения библиотек является основным, а использование "stdafx.h" — это дополнительная возможность подключения заголовочных файлов, которая есть только в MVS. С 4-й по 6-ю строки объявлена функция main . Строка 4 – это заголовок функции, который состоит из типа возвращаемых данных (в данном случае int ), этой функцией, и имени функции, а также круглых скобок, в которых объявляются параметры функции.
int — целочисленный тип данных
Между фигурными скобочками размещается основной программный код, называемый еще телом функции. Это самая простая структура программы. Данная структура написана в Microsoft Visual Studio. Все выше сказанное остается справедливым и для других компиляторов, кроме строки 2. Контейнера "stdafx.h" нигде кроме MVS нет.
Структура программы для C++ Builder.
При создании консольного приложения мастер создания проектов создает автоматически следующий код:
Мы видим, что у функции тип данных — int . Это говорит о том что по завершении работы функция вернет какое-то целочисленное значение, в нашем случае 0. Целочисленное потому, что int – это тип данных для целых чисел, таких как 4, 5, 6, 456, 233 и т. д.
Главное помнить, что если тип возвращаемых данных у функции main — это int или любой другой, кроме void , то следует писать строку типа этой: return <возвращаемое значение>;
В строке 2 подключена библиотека vcl.h – её автоматически подключает мастер создания приложений, поэтому удалять её не следует, иначе проект не будет рабочим.
В общем говоря, мастер создает автоматически структуру программы, немного отличающуюся от тех, что мы рассмотрели, но суть остается та же.
Например:
Такой пример структуры генерируется мастером в MVS2010. Данный main немного отличается. Подробнее рассмотрим позже, но скажу, что данный main имеет такой вид, так как изначально рассчитан на поддержку юникода.
Существуют разные версии main , но в этом нет ничего страшного, так как main была главной функцией, так она ей и остается, поэтому все выше сказанное остается актуальным.
Пример структуры программы MVS с подключенными библиотеками.
Синтаксис подключения заголовочных файлов:
Include <имя заголовочного файла>
Более старые заголовочные файлы подключаются так (этот стиль подключения библиотек унаследован у языка программирования C):
Include <имя заголовочного файла.h>
Различие состоит в том, что после имени ставится расширение .h .
Язык программирования С++ является регистрозависимым.
Например:
Return 0; – не правильно, будет ошибка компиляции.
return 0; – правильно!!!
В данной статье рассмотрены структуры программ на С++ в таких средах как MVS и Borland. И как вы уже заметили, эти структуры почти не отличаются. Поэтому данная статья актуальна для любой IDE.