Структура программы в C++
Прежде чем приступить к написанию программ, необходимо изучить структуру программ на языке программирования С++. Своими словами, структура программ это разметка рабочей области (области кода) с целью чёткого определения основных блоков программ и синтаксиса. Структура программ несколько отличается в зависимости от среды программирования. Мы ориентируемся на IDE Microsoft Visual Studio, и по этому примеры программ будут показаны именно для MVS. Если вы используете другую IDE, то вам не составит труда перенести код из MVS в другие среды разработки, и вы поймете со временем, как это сделать.
Структура программ для Microsoft Visual Studio.
1
2
3
4
5
6
|
// struct_program.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" //здесь подключаем все необходимые препроцессорные директивы int main() { // начало главной функции с именем main //здесь будет находится ваш программный код } |
В строке 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.
При создании консольного приложения мастер создания проектов создает автоматически следующий код:
1
2
3
4
5
6
|
//препроцессорная директива, автоматически подключённая мастером создания проектов #include <vcl.h> int main() { return 0; } |
Мы видим, что у функции тип данных — int
. Это говорит о том что по завершении работы функция вернет какое-то целочисленное значение, в нашем случае 0. Целочисленное потому, что int
– это тип данных для целых чисел, таких как 4, 5, 6, 456, 233 и т. д.
Главное помнить, что если тип возвращаемых данных у функции main
— это int
или любой другой, кроме void
, то следует писать строку типа этой: return <возвращаемое значение>;
В строке 2 подключена библиотека vcl.h
– её автоматически подключает мастер создания приложений, поэтому удалять её не следует, иначе проект не будет рабочим.
В общем говоря, мастер создает автоматически структуру программы, немного отличающуюся от тех, что мы рассмотрели, но суть остается та же.
Например:
1
2
3
4
|
int main( int argc, char * argv[]) { return 0; } |
Такой пример структуры генерируется мастером в MVS2010. Данный main
немного отличается. Подробнее рассмотрим позже, но скажу, что данный main
имеет такой вид, так как изначально рассчитан на поддержку юникода.
Существуют разные версии main
, но в этом нет ничего страшного, так как main
была главной функцией, так она ей и остается, поэтому все выше сказанное остается актуальным.
Пример структуры программы MVS с подключенными библиотеками.
1
2
3
4
5
6
|
#include "stdafx.h" #include <iostream> using namespace std; int main() { } |
Имя подключаемых библиотек пишется внутри знаков больше, меньше. Заголовочные файлы и имя подключаемых библиотек – синонимы.
Синтаксис подключения заголовочных файлов:
#include <имя заголовочного файла>
Более старые заголовочные файлы подключаются так (этот стиль подключения библиотек унаследован у языка программирования C):
#include <имя заголовочного файла.h>
Различие состоит в том, что после имени ставится расширение .h
.
Язык программирования С++ является регистрозависимым. Например:Return 0;
– не правильно, будет ошибка компиляции.return 0;
– правильно!!!
В данной статье рассмотрены структуры программ на С++ в таких средах как MVS и Borland. И как вы уже заметили, эти структуры почти не отличаются. Поэтому данная статья актуальна для любой IDE.