
- •3. Указатели и ссылки. Указатель this.
- •4. Использование операторов new и delete.
- •5. Понятие классов и экземпляров классов.
- •6. Описание классов(class, struct, union).
- •7. Вложенные классы.
- •8. Определение объектов при помощи классов.
- •9. Конструкторы и деструкторы классов.
- •10. Атрибуты доступа к компонентам классов.
- •11. Объявление и определение методов класса.
- •12. Вызов членов класса.
- •13. Перегрузка конструкторов. Конструкторы копий.
- •14. Перегрузка операторов отношения.
- •15. Перегрузка логических операторов.
- •16. Перегрузка унарных операторов.
- •17. Перегрузка бинарных операторов.
- •18. Функция оператор как член класса и как friend функция.
- •19. Дружественные функции.
- •20. Доступ к компонентам классов в зависимости от атрибутов доступа.
- •21. Введение в наследование. Базовые классы.
- •22. Производные классы.
- •23. Ограничение доступа к элементам класса. Наследование свойств и модификаторы доступа. Одиночное наследование. Доступ к компонентам производных и базовых классов.
- •24. Конструкторы базовых и производных классов.
- •25. Виртуальные базовые классы. Чисто виртуальные функции.
- •26. Использование указателей на базовые классы и производные классы. Виртуальные методы.
- •27. Потоки ввода-вывода.
- •28. Иерархия классов ввода-вывода. Основные уровни иерархии. Классы потоков.
- •29. Стандартные классы, объекты и механизмы консольного ввода/вывода.
- •30. Стандартные классы, объекты и механизмы файлового ввода/вывода.
- •31. Понятие манипулятора. Реализация пользовательских манипуляторов.
- •32. Файлы последовательного доступа и произвольного доступа.
- •33. Понятие шаблона. Шаблоны функций и классов.
8. Определение объектов при помощи классов.
Объекты могут создаваться несколькими способами. Некоторые объекты являются локальными переменными, другие – глобальными, третьи – членами классов. Конструкторы инициализируют объект, другими словами они создают среду, в которой работают функции-члены. Иногда создание такой среды подразумевает захват каких-то ресурсов, таких как файл, блокировка или память, которые должны быть освобождены после их использования. Конструктор локальной переменной вызывается каждый раз, когда управление передается инструкции, содержащей объявление этой локальной переменной.
9. Конструкторы и деструкторы классов.
Объекты могут создаваться несколькими способами. Некоторые объекты являются локальными переменными, другие – глобальными, третьи – членами классов. Конструкторы инициализируют объект, другими словами они создают среду, в которой работают функции-члены. Иногда создание такой среды подразумевает захват каких-то ресурсов, таких как файл, блокировка или память, которые должны быть освобождены после их использования. Конструктор локальной переменной вызывается каждый раз, когда управление передается инструкции, содержащей объявление этой локальной переменной. Для объекта создаваемого в свободной памяти, вызывается конструктор класса, указанного в операторе new. Деструкторы используются для уничтожения объектов . Они очищают память и освобождают ресурсы. Деструкторы вызываются неявно, когда автоматическая переменная выходит из области видимости, удаляется объект, хранящийся в свободной памяти.
10. Атрибуты доступа к компонентам классов.
Управление доступом. Метка public разделяет тело класса на две части. Имена в первой (private) части могут использоваться только функциями-членами. Вторая часть образует открытый интерфейс объектов класса. Структура, на самом деле, является классом, члены которого открыты по умолчанию. Ограничение доступа к структуре данных явно объявленных списком функций имеет несколько преимуществ. В частности, если мы изменим представление класса, нам потребуется только изменить функции-члены , чтобы воспользоваться новым представлением. Код пользователя непосредственно зависит только от открытого интерфейса, и код не потребуется переписывать. Защита закрытых данных базируется на ограничении использования имен членов класса. Эту защиту можно обойти манипулированием с адресами и путем явного преобразования типа.