- •1В. Атрибуты private, public, protected
- •2В. Виртуальные методы и полиморфизм
- •7В. Заголовочные файлы.
- •8В. Инкапсуляция, наследование и полиморфизм
- •15В. Обработка исключений.
- •20В. Объект TextBox (или Edit).
- •27В. Перегрузка процедур и функций.
- •30В. Понятия объекта, класса объектов.
- •31В. Преимущества объектно-ориентированного программирования
- •43В. Функции-друзья
- •44В. Явное и неявное преобразование типов.
7В. Заголовочные файлы.
Заголовочный файл (иногда головной файл, англ. header file), или подключаемый файл — в языках программирования Си и C++ файл, содержащий определения типов данных, структуры, прототипы функций, перечисления, макросы препроцессора. Имеет по умолчанию расширение .h; иногда для заголовочных файлов языка C++ используют расширение .hpp. Заголовочный файл используется путём включения его текста в данный файл директивой препроцессора #include.
Чтобы избежать повторного включения одного и того же кода, используются директивы #ifndef, #define, #endif
Основная цель заголовочных файлов — вынесение описания нестандартных типов и функций за пределы основного файла с кодом
8В. Инкапсуляция, наследование и полиморфизм
Все языки OOP, включая С++ , основаны на трёх основополагающих концепциях, называемых инкапсуляцией , полиморфизмом и наследованием . Рассмотрим эти концепции
Инкапсуляция - это механизм, который объединяет данные и код, манипулирующий этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования.
Полиморфизм - это свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач. Целью полиморфизма , применительно к объектно-ориентированному программированию, является использование одного имени для задания общих для класса действий. Фактически во всех языках программирования ограниченно применяется полиморфизм , например, в арифметических операторах.
Наследование (inheritance) - это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него. Наследование является важным, поскольку оно позволяет поддерживать концепцию иерархии классов. Наследование играет очень важную роль в OOP.
9в. Консольное приложение
запуск среды программирования C++ Builder .Затем выберем File\New\Other... попадаем в окно выбора типа вашего проекта, для создания консольного приложения необходимо выбрать в открывшемся окне Console Wizard. Открывается код, автоматически сгенерированный.Добавляем 2 строки
#include <iostream.h> - директива, необходимая для работы команд ввода/вывода на экран.(на самый верх)
cout<<"Hello world!"; - собственно сам вывод на экран строки Hello world!(перед ретурн 0)
компилируем, и готово.
10в. Конструкторы и деструкторы
Конструктор представляет собой метод класса, который облегчает вашим программам инициализацию элементов данных класса.
Конструктор имеет такое же имя, как и класс.
Конструктор не имеет возвращаемого значения.
Каждый раз, когда ваша программа создает переменную класса, C++ вызывает конструктор класса, если конструктор существует.
Многие объекты могут распределять память для хранения информации; когда вы уничтожаете такой объект, C++ будет вызывать специальный деструктор, который может освобождать эту память, очищая ее после объекта.
Деструктор имеет такое же имя, как и класс, за исключением того, что вы должны предварять его имя символом тильды (~).
Деструктор не имеет возвращаемого значения.
Конструктор представляет собой специальную функцию, которую C++ автоматически вызывает каждый раз при создании объекта. Обычное назначение конструктора заключается в инициализации элементов данных объекта. Деструктор представляет собой функцию, которую C++ автоматически запускает, когда он или ваша программа уничтожает объект.
11в. Массивы в C++
Массив — это область памяти, где могут последовательно храниться несколько значений.
Массивы представляют из себя множество переменных с определенным типом данных (int,char,float и т.д.) и состоит из двух частей: имени массива и индекса элемента.
Для создания массива надо написать тип, затем имя массива и в квадратных скобках количество элементов:
int numbers[1000]; // массив на 1000 числовых элементов.
float test[10] // массив на 10 вещественных чисел
А для доступа к n-ому элементу необходимо написать имя массива[номер элемента].
Массив объявляется почти так же, как и обычная переменнаяНумерация элементов начинается с 0, а не с 1. Массив инициализируется в фигурных скобках, значения элементов массива идут через запятую. в конце закрывающейся фигурной скобки ставится точка с запятой.
Вывести весь массив, состоящий из п-го кол-ва элементов, можно с помощью циклов.
12в. Множественное наследование.
C++ позволяет порождать класс из нескольких базовых классов. Когда ваш класс наследует характеристики нескольких классов, вы используете множественное наследование.
ПОСТРОЕНИЕ ИЕРАРХИИ КЛАССОВ
При использовании наследования в C++ для порождения одного класса из другого возможны ситуации, когда вы порождаете свой класс из класса, который уже, в свою очередь, является производным от некоторого базового класса. Например, предположим, вам необходимо использовать класс сотputer базовый для порождения класса workstation.
Конструктор класса workstation просто вызывает конструктор класса computer, который в свою очередь вызывает конструкторы классов сотрuter_screen и mother_board. В результате класс work_station наследует характеристики всех трех классов.
13в. Назначение методов new и gcnew.
Создание нового экземпляра класса.
Операция new позволяет получить память из кучи (это такой участок памяти) во время выполнения программы. При этом Вы получаете указатель на начало участка выделенной памяти.
gcnew - Это аналог new.
14в. Наследование классов и производные классы.
Представление о наследовании
Наследование представляет собой способность производного класса наследовать характеристики существующего базового класса. Простыми словами это означает, что, если у вас есть класс, чьи элементы данных или функции-элементы могут быть использованы новым классом, вы можете построить этот новый класс в терминах существующего (или базового) класса. Новый класс в свою очередь будет наследовать элементы (характеристики) существующего класса. Использование наследования для построения новых классов сэкономит вам значительное время и силы на программирование. Объектно-ориентированное программирование широко использует наследование, позволяя вашей программе строить сложные объекты из небольших легко управляемых объектов.
Наследование представляет собой способность производить новый класс из существующего базового класса.
Производный класс — это новый класс, а базовый класс — существующий класс.
Когда вы порождаете один класс из другого (базового класса), производный класс наследует элементы базового класса.
Для порождения класса из базового начинайте определение производного класса ключевым словом class, за которым следует имя класса, двоеточие и имя базового класса, например class dalmatian: dog.
