Информационная система "Азиатские государства"
1.3.2 C++Builder
Новейшая система объектно-ориентированного программирования C++ Builder производства корпорации Borland предназначена для операционных систем Windows. Интегрированная среда C++Builder обеспечивает скорость визуальной разработки, продуктивность повторно используемых компонент в сочетании с мощью языковых средств C++, усовершенствованными инструментами и разномасштабными средствами доступа к базам данных.
Быстрая разработка приложений подразумевает поддержку свойств, методов и событий компонент в рамках объектно-ориентированного программирования, а так же, при желании, возможность вставки комментарий.
Комментарии:
- Начинаются значком /*, заканчиваются значком */. Эти комментарии не могут быть вложенными.
- Начинаются значком //, заканчиваются символом новой строки. Запрещается использовать комментарии // в строках препроцессора. Код, содержащий эти комментарии, может быть закомментирован при помощи /* и */.
/* Это один большой комментарий.
for(i=0; i<10; ++i) //Инициализировать вектор
a[i]=0;
*/
- Допускают любое число пробелов.
Идентификаторы:
- Представляют собой последовательность букв, подчеркиваний или цифр, начинающуюся с буквы или с подчеркивания. - Различают регистр.
- Могут иметь произвольную длину. Однако, некоторые реализации языка С++ имеют ограничения.
Ключевые слова:
- Зарезервированы языком (выделены ключевые слова, появившиеся в С++):
Ключевые слова catch, throw и try используются для обработки исключительных ситуаций.
Первые версии С++ используют ключевое слово overload, которое перестало быть необходимым. Кроме того, в этих версиях не реализованы ключевые слова asm, private, protected, signed, template, volatile.
Константы:
1 Целые знаковые константы
- Десятичные: Это необязательный знак, за которым следует ненулевая цифра, за которой, в свою очередь, следует произвольное число цифр.
Имеют тип int, если значение константы не превышает максимально допустимого значения для числа типа int на данной машине, в противном случае имеет тип long.
- Восьмиричные: Это ноль, за которым следует произвольное количество цифр в диапазоне от 0 до 7.
027, 052, 03707
- Шестнадцатиричные: Это 0х или 0Х, за которым следует произвольное количество цифр или букв в диапазоне от a до f или от A до F.
0x17, 0x2a, 0X7C7
2 Длинные целые константы
- Это знаковые или беззнаковые целые константы, которые имеют большие значения, нежели это допустимо для чисел типа int.
- Явно обозначаются добавлением символа L или l к знаковой или беззнаковой целой константе.
23l, 0x2aL, 1991UL
3 Константы с плавающей точкой
- Имеют целую часть, десятичную точку, дробную часть, символ е или Е, и экспоненту со знаком или без него.
- Могут не иметь целой или дробной части, а также не иметь десятичной точки или экспоненты.
- Имеют тип double, за исключением случаев, когда оканчиваются символами F, f (тип float), L, l (тип long double).
4 Символьные константы
- Чаще всего представляют собой отдельный символ, заключенный в одиночные кавычки. Имеют тип char. В языке С символьные константы имеют тип int.
- Имеют числовое значение, которое равно значениям машинных кодов соответствующих символов.
- Используют управляющие последовательности для представления определенных символов.
5 Строковые константы
- Это ноль и более символов, окруженных двойными кавычками.
- Имеют тип static char, т.е. это статический вектор символов.
- Содержат в конце добавляемый компилятором символ /0.
- Используют " для включения кавычек в строку.
- Могут быть записаны в нескольких строках. Последним в переносимой строке должен быть символ . При этом символы и новой строки отбрасываются.
- Соединяются, если являются смежными. Эта возможность доступна при использовании препроцессора.
6 Перечислимые константы
- Это идентификаторы.
- Это единственный интегральный тип. В С считается, что перечисления имеют тип int.
Выражения
- Это сочетание одной или более констант, переменных, или вызовов функций и нуля или более операций. Рассматриваются как true, если результат их вычисления не равен нулю, или как false, если результат равен нулю.
Операторы
1 Оператор выражения
- Представляет собой выражение, заканчивающееся точкой с запятой (;).
language = C++;
2 Оператор метки
- Это оператор выражения, перед которым стоит идентификатор и точка с запятой. Идентификатор метки отличается от остальных идентификаторов тем, что его область действия ограничивается функцией, в которой он используется.
- Может быть использован в операторе goto (см. "goto").
OUTTA_HERE: return result;
3 Пустой оператор
- Это просто точка с запятой.
- Используется, когда после метки или операторов while, do или for не должно следовать никакого оператора.
while(*p++ = *q++);
4 Cоставной оператор
- Представляет собой ноль или более операторов, заключенных в фигурные скобки.
- Допустим везде, где допустим оператор выражения.
- Определяет новую область действия, то есть переменные, определенные внутри составного оператора, являются локальными в нем и скрывают внешние переменные с теми же именами.
- Имеет конструктор для локальных переменных класса, который вызывается при выходе из блока. Кроме того, деструктор вызывается при выполнении операторов goto, break, continue и return (см. "Деструкторы" в разделе "Классы").
5 Оператор объявления
- Описывает идентификатор и его тип. В С все объявления должны соответствовать всем операторам выражений, в С++ это ограничение снято
Операции
- Арифметические операции
- Логические операции
- Операции отношения
- Операции присваивания
- Операции инкремента и декремента
- Операции указателей и массивов
- Операции структуры, объединения и класса
- Побитовые операции
- Операции распределения памяти
- Прочие операции
Организация программы
Программа на С++ обычно состоит из двух типов файлов: файлов заголовков и файлов кода. Файлы заголовков имеют расширение .h, а файлы кода - расширение .cpp. Достаточно сложная программа использует различные файлы каждого из этих типов.
Файлы заголовков содержат классы, шаблоны, структуры, объединения, перечисления и объявления функций, описания typedef, определения констант, функции inline и директивы препроцессора. Все вместе, это называется интерфейсом к файлам кода. Файлы кода содержат реализацию вашей программы.
Объявления
Описывают новый тип, переменную и ее тип, константу и ее значение или функцию, ее аргументы и возвращаемое значение. Присваивают тип int, если тип не определен явно.
Функции
- Это наборы из нуля или более операторов, объединенных в исполняемый модуль, который выполняет действия, определенные программистом.
- Вызываются другими функциями и, как правило, возвращают им значение (если только возвращаемое значение не имеет тип void).
Имеют несколько разновидностей:
- обычные
- члены
- дружественные
- шаблоны
Свойства
Свойства позволяют легко устанавливать разнообразные характеристики компонент, такие как названия, контекстные подсказки или источники данных.
Методы
Методы производят определенные операции над компонентным объектом, в том числе и такие сложные как воспроизведение или перемотка устройства мультимедиа.
События
События связывают воздействия пользователя на компоненты, такие как активизация, нажатие кнопок или редактируемый ввод - с кодами реакции на эти воздействия. Кроме того, события могут возникать при таких специфических изменениях состояния компонент как обновление данных в интерфейсных элементах доступа к базам данных.
C++Builder не делает различия между тем, какие программные модули добавляются к проекту своего приложения - написаны они на C++ (файлы с расширением СРР) или на Delphi (файлы с расширением PAS). Технология визуального наследования форм дает возможность модифицировать формы Delphi в среде C++Builder без каких бы то ни было проблем.
Исключения
Когда программа встречает ненормальную ситуацию, на которую она не была рассчитана, можно передать управление другой части программы, способной справиться с этой проблемой, и либо продолжить выполнение программы, либо завершить работу. Переброс исключений (exception throwing) позволяет собрать в точке переброса информацию, которая может оказаться полезной для диагностики причин, приведших к нарушению нормального хода выполнения программы.
Язык C++ определяет стандарт обслуживания исключений в рамках ООП. C++Builder предусматривает специальные механизмы для обработки исключений (ошибок), которые могут возникнуть при использовании Библиотеки Визуальных Компонент. Блок кода, который может сгенерировать исключение, начинается ключевым словом try и заключается в фигурные скобки. Если блок try обнаруживает исключение внутри этого блока, происходит программное прерывание. Блок кода, который обрабатывает возникшее исключение, начинается ключевым словом catch и заключается в фигурные скобки. По меньшей мере один кодовый блок обработчика исключения должен следовать непосредственно за блоком try.