четверг, 25 апреля 2013 г.

Основные конструкции языка С++. Часть 1


Сегодня я расскажу вам о основных конструкциях языка С++. Могу вас заверить конструкции С++ мало чем отличаются от конструкций самого непосредственно Qt.

Директивы

Рассмотрим директиву include, которую ми ставим из самого верху файла, для того чтобы загрузить переменные и функции которые хранятся в заголовочных файлах.

#include <string.h>

Ну, здесь все простою, ключевое слово include со знаком # впереди слова и названием самого файла в кавычках “” или таких скобках <>. Здесь есть разница между записями “” и <>, хоть и небольшая. Сочетание “” используют, если вам нужно загрузить ваш собственный заголовочный файл, то есть тот который вы сами написали. А <> используют для подключения библиотек и модулей Qt, но на практике нет разницы, какие знаки использовать. Заголовочные файлы имеют окончание *.h, в то время когда сами модули библиотек не имеют никакого видимого окончания, но имеют вначале префикс Qt, а непосредственно сами библиотеки или образцы для создания объектов начинаются из буквы Q. Доступ к вложенным образцам объектов происходит через /. Вот пример:

#include <QtCore/QAbstractAnimation>

Теперь рассмотрим такую конструкцию как функции или как их называют в ООП парадигме, методы, но сейчас не об этом. Функция это часть программы, которую часто используют и для этого, чтобы не писать похожий код несколько раз в программе эго выносят в отдельную подпрограмму. Эту подпрограмму можно вызвать в любом месте передав в функции некоторые значения, и в результате одержать результат.

Функции

Функция должна иметь имя, например, function1 и тип значения которое возвращает функция в нашем случае это double. В скобках через запятую записываются типы и название переменных, которые передают функции. В фигурных скобках записывается код программы, а также в теле функции должен бить оператор return i, который возвращает некоторое значение обратно из функции. В случае если перед названием функции стоит ключевое слово void, тогда функция не возвращает никакого значения, а просто исполняет код.

double function1(int i)
{
    i++;
    return i;
}

Самой главной функцией в программу на языке С++ это функция main.

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
        
    return a.exec();
}

Именно в этой функции происходят все действия. Дело в том, что при запуске программы, выполнение программы начинается с вызова этой функции. Параметрами функции main является, такие переменные:

argc - количество переданных аргументов командной строки.
argv - массив переданных аргументов командной строки.

Объект QApplication служит для управления всеми ресурсами приложения. Для создания объекта нужно передать параметры argc, argv, так как Qt может сам обрабатывать некоторые аргументы командной строкой.

return a.exec();

Служит для корректного завершения программы и в этом случае возвращает 0.

Структуры

Структура это как бы контейнер нескольких переменных, которые объединяются общем именем people. Структура под именем people хранит в себе информацию о возрасте, высоте, ширине и имени человека.

struct people
{
    int age;
    double width;
    double height;
    char name[10];
};

Структура описывается за пределами функций. Чтобы можно било работать с элементами структуры, сначала нужно создать экземпляр в самой программе. Что такое экземпляр я объясню позже, а сейчас можете себе представить, что это какой-то конкретный человек, тогда как сама структура это все человечество.

people p1;
p1.name = 'Sasha';
p1.age = 30;
p1.height = 180.2;
p1.width = 60.5;

Здесь ми создали экземпляр человечества p1 и наделили его некими уникальными параметрами как имя, возраст, высоту и ширину. Таким же образом можно получить данные из структуры, а именно:

int r = p1.age;

Это первая часть статьи, в скором времени появится и вторая часть, в которой я расскажу об условных переходах, а также разных типах циклов и операторе безусловного перехода.