![](/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. Форма конструктора со списком инициализации.
Передача аргументов в функцию по умолчанию.
По умолчанию для передачи аргументов в С++ используется метод вызова по значению. Это означает, что код функции не может изменить аргументы, используемые при вызове функции. По умолчанию функции передается копия аргумента. То, что происходит внутри функции никак не отражается на значении переменной, используемой при вызове функции.
10.Понятие класса, общая структура.
Класс определяет новый тип данных, который задает формат объекта.. Объекты – это экземпляры класса. Класс – это логическая абстракция, которая реально не существует до тех пор, пока не будет создан объект этого класса, т.е. то, что станет физическим представлением этого класса в памяти компьютера.
Основными компонентами класса являются данные и процедуры или функции, выполняющие действия над этими данными. Переменная, объявленная в классе, называется членом данных, а функция, объявленная в классе, называется функцией-членом.
Общий формат объявления класса:
class имя_класса {
закрытые данные и функции
public:
отрытые данные и функции
} список_объектов;
11. Характеристика элементов-данных класса.
В классе элементы-данные объявляются в виде переменных и называются членами данных.
Члены данных класса могут быть закрытыми(private) , открытыми(public) или защищенными(protected)
public разрешает доступ к элементам объекта класса из любой части программы, в которой известен этот объект).
Privateразрешает доступ к элементам объекта класса только из методов этого класса.
Protected определяется для защищенных элементов и разрешает доступ к ним из методов производных классов.
Уровень доступа по умолчанию - private.
Любая функция-член класса имеет доступ к любому члену данных этого класса. Чтобы получить доступ к открытому члену класса через созданный объект(например, Q1) этого класса, используется оператор «точка». ( Q1.a).
12. Характеристика методов класса. Использование операции привязки «::» Методы класса представляются в виде функций, называемых функциями-членами.
Любая функция-член класса имеет доступ к любому члену данных этого класса.
При реализации метода(описании кода функции) используется операция «::» для привязки
метода(функции) к конкретному классу. Различные классы могут иметь одинаковые имена функций.
Чтобы получить доступ к методу класса через созданный объект(например, Q1) этого класса, используется оператор «точка». ( Q.fff).
13. Указатель «this». Пример явного использования.
Ключевое слово «this» - это указатель на объект, который вызывает функцию-член.
При каждом вызове функуции-члена ей автоматически передается указатель «this»на объект, для которого вызывается эт функция.
Пример:
Class cl{
int i;
public:
Void load_i (int val) {
this->i=val; } // то же самое, что I = val
int get_i {
return this->i; } // то же самое, что return i
};
Int main()
{
Cl ob;
ob.load_i(100);
cout << ob.get_i();
return 0;
}
Указатель «this» используется при перегрузке операций(операторов) функциями-членами классов.