- •1. Основы ооп. Понятие инкапсуляции, наследования и полиморфизма.
- •Ограничение на наследование
- •2. Класс в ооп и его основные компоненты.
- •Объявление класса
- •3. Перегрузка функций.
- •4. Уровни доступа к элементам класса.
- •5. Область видимости объектов, скрытие имен.
- •6. Динамическая память, функции работы с памятью.
- •7. Динамическая память, операции работы с памятью.
- •9. Передача аргументов в функцию по умолчанию.
- •10. Понятие класса, общая структура.
- •Объявление класса
- •11. Характеристика элементов-данных класса.
- •12. Характеристика методов класса. Использование операции привязки «::»
- •13. Указатель «this». Пример явного использования.
- •14.Функции-друзья класса.
- •15. Функции-конструкторы. Явный и косвенный вызов конструктора.
- •16. Функции-деструкторы.
- •17. Методы класса с атрибутом «const».
- •18. Статические методы и данные. Атрибут «static»
- •19. Указатели на компоненты класса
- •20. Наследование. Базовый и производный классы.
- •21.Инициализация объектов при наследовании
- •22. Указатели на производный и базовый классы. Формат явного преобразования указателей на базовый класс.
- •23.Виртуальный базовый класс
- •24.Консруктор во множественном наследовании
- •25.Виртуальные функции. Переопределение виртуальной функции.
- •26.Понятие абстрактного класса
- •29. Перегрузка методами класса
- •34.Итераторы
- •35.Алгоритмы
- •36. Потоковые классы.
- •37.Управление выводом. Манипуляторы и флажки.
- •38. Файловые потоки.
- •39.Шаблоны функций
- •40.Шаблоны классов.
- •46. Указатель типа «void».
- •48. Операция «typeid»
4. Уровни доступа к элементам класса.
Ключевое слово public означает общий доступ к переменным и функциям класса. Уровень доступа private указывает на частный способ доступа к элементам класса и устанавливается по умолчанию при описании класса. Частный уровень доступа дает возможность обращаться к переменным и функциям только внутри класса и запрещает извне, например, через представители или указатели на класс.
Режим доступа protected также как и private запрещает доступ к элементам класса через представители и указатели, но разрешает обращаться к ним из дочерних классов при наследовании.
5. Область видимости объектов, скрытие имен.
Видимость переменных и функций в программе определяется следующими правилами.
1. Переменная, объявленная или определенная глобально, видима от точки объявления или определения до конца исходного файла. Можно сделать переменную видимой и в других исходных файлах, для чего в этих файлах следует ее объявить с классом памяти extern.
2. Переменная, объявленная или определенная локально, видима от точки объявления или определения до конца текущего блока. Такая переменная называется локальной.
3. Переменные из объемлющих блоков, включая переменные объявленные на глобальном уровне, видимы во внутренних блоках. Эту видимость называют вложенной. Если переменная, объявленная внутри блока, имеет то же имя, что и переменная, объявленная в объемлющем блоке, то это разные переменные, и переменная из объемлющего блока во внутреннем блоке будет невидимой.
4. Функции с классом памяти static видимы только в исходном файле, в котором они определены. Всякие другие функции видимы во всей программе.
Метки в функциях видимы на протяжении всей функции.
Имена формальных параметров, объявленные в списке параметров прототипа функции, видимы только от точки объявления параметра до конца объявления функции.
Описание определяет имя в области видимости. Таким образом, имя может применяться только в некоторой части программы. Для имени, которое описано в функции (такое имя часто называют локальным), эта область видимости располагается от точки описания до конца блока, в котором появилось описание. Для имени не в функции и не в классе (называемого часто глобальным именем) область видимости находится от точки описания до конца файла, в котором появилось описание. Описание имени в блоке может прятать описание во внутреннем блоке или глобальное имя, т. е. можно переопределять имя внутри блока с целью ссылки на другой объект. После выхода из блока имя опять получает свое прежнее значение.
6. Динамическая память, функции работы с памятью.
В языке программирования Си имеются следующие четыре функции для динамического распределения памяти, входящие в стандартную библиотеку:
malloc (от англ. memory allocation, выделение памяти),
calloc (от англ. clear allocation, чистое выделение памяти)
realloc (от англ. reallocation, перераспределение памяти).
free. (англ. free, освободить)
Эти функции имеют следующие описания:
#include <stdlib.h>
void *malloc (size_t size);
void *calloc (size_t num, size_t size);
void *realloc(void *block, size_t size);
void *free(void *block);
В С++ имеются два оператора:
new delete. ( int n=100; float *p= new float [n])
Функции заполнения памяти: memcpy или memmove
Для того, чтобы выставить дополнительное ограничение по копированию (например, до первого вхождения байта c), используйте функцию memccpy. Если вы хотите заполнить все байты данной области памяти одинаково, используйте memset.
Для сравнения двух областей памяти используется функция memcmp.