Обработка исключений.
Обработка исключений – это механизм, позволяющий двум независимо разработанным программным компонентам взаимодействовать в аномальной ситуации, называемой исключением.
Исключение – это аномальное поведение во время выполнения, которое программа может обнаружить, например: деление на 0, выход за границы массива или истощение свободной памяти. Такие исключения нарушают нормальный ход работы программы, и на них нужно немедленно отреагировать. В C++ имеются встроенные средства для их возбуждения и обработки. С помощью этих средств активизируется механизм, позволяющий двум несвязанным (или независимо разработанным) фрагментам программы обмениваться информацией об исключении.
Объект Button.
Простейшей и, пожалуй, наиболее часто используемой кнопкой является кнопка Button, расположенная на странице библиотеки Standard. Реже используется кнопка BitBtn, отличающаяся, прежде всего, возможностью отобразить на ее поверхности изображение. Большинство свойств, методов и событий у этих видов кнопок одинаковы.
Основное с точки зрения внешнего вида свойство кнопки - Caption (надпись)
Основное событие любой кнопки - OnClick, возникающее при щелчке на ней. Именно в обработчике этого события записываются операторы, которые должны выполняться при щелчке пользователя на кнопке. Помимо этого есть еще ряд событий, связанных с различными манипуляциями клавишами и кнопками мыши. Писать обработчик события OnClick надо, если вы не связываете свойством Action данную кнопку с каким-то действием.
Объект CheckBox.
Индикаторы с флажком CheckBox используются в приложениях в основном для того, чтобы пользователь мог включать и выключать какие-то опции, или для индикации состояния.
При каждом щелчке пользователя на индикаторе его состояние изменяется, проходя в общем случае последовательно через три значения: выделение (появление черной галочки), промежуточное (серое окно индикатора и серая галочка) и не выделенное (пустое окно индикатора). Этим трем состояниям соответствуют три значения свойства компонента State: cbChecked, cbGrayed, cbUnchecked. Впрочем, эти три состояния допускаются только при значении другого свойства AllowGrayed равном true
Объект ListBox.
Компоненты ListBox отображают списки строк и позволяют пользователю выбрать в них нужную строку. Основное свойство обоих компонентов, содержащее список строк Items, имеющий тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов
Объект RadioGroup.
Компонент RadioGroup - панель группы радиокнопок. Панель может содержать регулярно распоюженные столбцами и строками радиокнопки. Надпись в левом верхнем углу панели определяется свойством Caption. А надписи кнопок и их количество определяются свойством Items, имеющим тип TStrings
Объекты, классы, экземпляры класса. Пример.
Объект — это какая-то вещь или материальная сущность реального мира. Наш мир состоит из бесконечного числа объектов: стол, машина, клавиатура компьютера, дом, человек и т. д. В качестве объекта можно рассматривать файл, в качестве свойства — его размер или имя, а в качестве операций — чтение или запись.
Класс представляет собой новый тип данных, позволяющий создавать новые переменные этого типа (объекты) (иногда их еще называют экземплярами класса) и вести связанные с ними процедуры и функции. Программист описывает класс как сложный структурированный тип, состоящий из элементов, которые могут быть как собственно данными, т. е. значениями определенного типа данных, так и функциями, реализующими операции над элементами-данными. Элементы-данные называются свойствами класса, элементы-функции — методами класса.
Оператор for.
Цикл for в своем простейшем исполнении позволяет задать определенное количество выполнений кода.
Синтаксис: for(инициализация переменных; условия; шаг цикла){для 2 и более действий нужны фигурные скобки;}
Оператор if в C++.
Оператор if
В переводе с английского означает ЕСЛИ, т.е. если условие истина выполнять действие, иначе пропустить, или выполнить другое действие.
Синтаксис: if(условие) {для 2 и более действий нужны фигурные скобки;} else {действие Б;}.
Конструкция else не обязательна.
Оператор if можно сколько угодно раз вкладывать в самого себя, таким образом можно предусмотреть множество различных ситуаций и логически выбрать какую часть кода нужно выполнять.
Оператор while в C++.
Циклы while и do-while, единственное отличие от for в том что в них проверяется условие выполнения, ни объявить, ни изменить переменную в конструкции while нельзя.Поэтому чтобы выйти из цикла нужно изменять переменные внутри самого цикла, так чтобы условие стало ложным.
Синтаксис
while(условие){для 2 и более действий нужны фигурные скобки;}
do{всегда нужны скобки;}while(условие);
Главное различие между while и do-while в том, что в первом случаи условие проверяется перед выполнением кода(предусловный цикл), во втором код выполняется 1 раз перед тем как будет проверено условие(постусловный цикл).
Основные окна среды визуального программирования.
Окно Конструктор форм (Project1 – Form1(Form)) является основным рабочим окном и располагается в центре.
Программный код (Project1 – Form1(Code)) вызывается двойным нажатием мыши на объекте или командой [View - Code]. Предназначено для ввода и редактирования текста программы проекта
Окно Свойства объекта (Properties) содержит список свойств выбранного объекта. Список разделен на два столбца.
Панель инструментов (Toolbox), которая содержит пиктограммы управляющих элементов
Основные принципы работы с графическими объектами.
Перегрузка процедур и функций.
Предоставление компилятору выбора среди нескольких функций называется перегрузкой
Перегрузка функций позволяет вам использовать одно и то же имя для нескольких функций с разными типами параметров.
Для перегрузки функций просто определите две функции с одним и тем же именем и типом возвращаемого значения, которые отличаются количеством параметров или их типом.
Перегрузка функций позволяет вашим программам определять несколько функций с одним и тем же именем и типом возвращаемого значения.
Перегрузка функций C++ позволяет вашим программам определять несколько функций с одним и тем же именем. Перегруженные функции должны возвращать значения одинакового типа*, но могут отличаться количеством и типом параметров. До появления перегрузки функций в C++ программисты языка С должны были создавать несколько функций с почти одинаковыми именами. К сожалению программисты, желающие использовать такие функции, должны были помнить, какая комбинация параметров соответствует какой функции. С другой стороны, перегрузка функций упрощает задачу программистов, требуя, чтобы они помнили только одно имя функции.
Передача параметров в процедуры C++ по ссылке и по значению.
Параметры в процедуры и функции можно передавать 2 способами - по значению и по ссылке. Отличия между этими двумя способами следующие - при передаче параметра по значению в процедуру (функцию) передается копия переменной, а при передаче по ссылке - оригинал (сама переменная). Рассмотрим эти 2 способа более подробно.
При передаче параметра по значению изменение этого параметра внутри вызываемой процедуры (функции) никак не отразится на ней.
При передаче же по ссылке изменение параметра внутри процедуры (функции) влечет за собой изменение и самой передаваемой переменной.
Понятие о техническом задании на разработку программы.
Преимущества объектно-ориентированного программирования.
ООП дает возможность создавать расширяемые системы (extensible systems). Это одно из самых значительных достоинств ООП и именно оно отличает данный подход от традиционных методов программирования. Расширяемость (extensibility) означает, что существующую систему можно заставить работать с новыми компонентами, причем без внесения в нее каких-либо изменений. Компоненты могут быть добавлены на этапе выполнения.
Преимущества программных оболочек.
Пример перекрытия наследованного метода.
Пример форматирования числа с плавающей точкой в виде строки.
Примеры операций со строками.
События объектов.
Ссылки и указатели.
Статические члены: функции и данные.
Типы данных С++, примеры.
В программировании принципы довольно схожи. Переменная — это ни что иное, как ячейка в оперативной памяти компьютера, в которой может храниться какая-либо информация.
В языке С++ все переменные имеют свой тип данных. Например, переменная, имеющая целочисленный тип не может содержать ничего кроме целых чисел, а переменная с плавающей точкой только дробные числа. Тип данных присваивается переменной при ее объявлении или инициализации. Ниже приведены основные типы данных языка C++, которые нам понадобятся.
int — целочисленный тип данных.
float — тип данных с плавающей запятой.
double — тип данных с плавающей запятой двойной точности.
char — символьный тип данных.
bool — логический тип данных.
Указатель this.
Любая функция-элемент класса, не являющаяся статической имеет доступ к объекту, для которого она вызвана, через посредство ключевого слова this. Типом this является имя_класса*.
Управляемые (.NET) и неуправляемые объекты.
Файловый ввод-вывод с применением потоков.
Для осуществления операций с файлами предусмотрено три класса: ifstream, ofstream и fstream. Эти классы являются производными, соответственно, от классов istream, ostream и iostream. Поскольку эти последние классы, в свою очередь, являются производными от класса ios, классы файловых потоков наследуют все функциональные возможности своих родителей (перегруженные операции << и >> для встроенных типов, функции и флаги форматирования, манипуляторы и пр.). Для реализации файлового ввода-вывода нужно включить в программу заголовочный файл fstream.h.
Существует небольшое отличие между использованием предопределенных и файловых потоков. Файловый поток должен быть связан с файлом прежде, чем его можно будет использовать. С другой стороны, предопределенные потоки могут использоваться сразу после запуска программы, даже в конструкторах статических классов, которые выполняются даже раньше вызова функции main().
