![](/user_photo/2706_HbeT2.jpg)
- •Основы ооп. Понятие инкапсуляции, наследования и полиморфизма.
- •Класс в ооп и его основные компоненты.
- •Перегрузка функций.
- •Уровни доступа к элементам класса.
- •Область видимости объектов, скрытие имен.
- •Динамическая память, функции работы с памятью.
- •Динамическая память, операции работы с памятью.
- •Передача аргументов в функцию по умолчанию.
- •11. Характеристика элементов-данных класса.
- •13. Указатель «this». Пример явного использования.
- •Void load_i (int val) {
- •14. Функции-друзья класса.
- •15. Функции-конструкторы. Явный и косвенный вызов конструктора.
- •16. Функции-деструкторы.
- •17. Методы класса с атрибутом «const».
- •18. Статические методы и данные. Атрибут «static»
- •23. Виртуальный базовый класс.
- •25. Виртуальные функции. Переопределение виртуальных функций.
- •26. Понятие абстрактного класса.
- •27. Перегрузка операций.
- •28. Особенности перегрузки операций при помощи методов класса и функций-друзей.
- •29. Перегрузка методами класса.
- •30. Использование ссылок при перегрузке унарных операций.
- •31. Стандартная библиотека. Общая характеристика.
- •32. Строковый класс стандартной библиотеки.
- •2. String (const char *str);
- •3. String (const string &str);
- •Insert() - вставка символов одной строки в другую
- •33. Контейнерные классы.
- •Vector - динамический массив
- •34. Итераторы.
- •Категории итераторов
- •Операции доступные итераторам
- •35. Алгоритмы.
- •36. Потоковые классы.
- •37. Управление выводом. Манипуляторы и флажки.
- •38. Файловые потоки.
- •39. Шаблоны функций
- •40. Шаблоны классов.
- •41. Обработка исключений. Общая характеристика.
- •42. Вложенные классы.
- •43. Классы и указатели при наследовании.
- •44. Многократная перегрузка операций.
- •46. Указатель типа «void».
- •47. Адрес в качестве возвращаемого значения функции.
- •48. Операция «typeid».
- •49. Виды обработчиков исключительных операций.
- •50. Отличие вызова функций от вызова обработчика исключительной ситуации.
- •51. Создание собственного завершающего кода при перехвате исключительной ситуации.
- •52. Форма конструктора со списком инициализации.
29. Перегрузка методами класса.
При перегрузке бинарной операции при помощи методов класса, объект, стоящий слева от операции, вызывает операторную функцию и передается ей неявно через указатель this. Объект, расположенный справа от операции(оператора) , передается операторной функции как параметр. Поэтому, при перегрузке методами класса бинарных операторов имеет значение порядок следования операндов в методе(функции). Т.е. чтобы вызвалась операторная функция, необходимо сначала указать левый оператор, потом – правый.
При перегрузке унарной операции при помощи методов класса, объект передается через указатель this.
30. Использование ссылок при перегрузке унарных операций.
При перегрузке унарных операций функциями-друзьми класса используется ссылочный вариант параметра функции. Например, перегрузка операции ++
Например, friend tree_d operator ++(three_d &op1) { op1.x++; op1.y++; } , где
x и y - переменные класса tree_d
31. Стандартная библиотека. Общая характеристика.
В языке программирования С++ термин Стандартная Библиотека означает коллекцию классов и функций, написанных на базовом языке. Стандартная Библиотека содержит множество встроенных функций. Основу стандартной библиотеки С++ составляет Стандартная Библиотека шаблонов(STL).
Стандартная Библиотека STL – набор шаблонных классов и функций общего назначения.
Ядро стандартной библиотеки шаблонов включает три основных элемента: контейнеры, алгоритмы и итераторы. Они работают совместно один с другим, предоставляя тем самым готовые решения различных задач программирования.
32. Строковый класс стандартной библиотеки.
Класс string обеспечивает альтернативу для строк с завершающим нулем.
Стандартный строковый класс string позволяет обрабатывать строки так же, как и данные любого другого типа, а именно посредством операторов. Класс string отслеживает границы переменных класса.
Для подключения доступа к классу string необходимо включить в программу заголовок <string>.
Прототипы самых распространенных конструкторов класса string имеют вид:
1. string ();
2. String (const char *str);
3. String (const string &str);
Первая форма конструктора создает пустой объект класса string.
Вторая форма создает string-объект из строки с завершающим нулем, адресуемым параметром str.
Третья форма создает string-объект из другого string-объекта.
Для объектов класса string определены следующие операторы:
= присваивание
+ конкатенация
+= присваивание с конкатенацией
== равенство
!= неравенство
< меньше
<= меньше или равно
> больше
>= больше или равно
[] индексация
<< вывод
>> ввод.
Перечень функций-членом класса string :
assign() - присвоение одной строки другой
append() - часть одной строки присоединяется в конец другой
Insert() - вставка символов одной строки в другую
replace() - замена символов одной строки символами другой.
erase() - удаление символов из строки
find() - поиск первого вхождения одной строки в другой
compare() - сравнение части одной строки с другой