- •2.Операторы new, delete.
- •4. Перегрузка функций.
- •5. Ссылки. Назначение и особенности использования.
- •10. Классы и объекты. Члены классов. Атрибуты доступа.
- •11. Описание классов. Видимость и доступ к членам классов.
- •12. Функции-члены классов. Описание, вызов.
- •13. Инициализация объектов классов. Назначение, типы конструкторов.
- •14. Инициализация объектов классов. Описание конструкторов.
- •15. Особенности описания и использования конструкторов копирования.
- •16. Деструкторы. Назначение, описание, использование.
- •17. Пример описания конструктора копирования для класса со структурными членами-данными (массива).
- •24. Пример использования функции-друга.
- •25. Перегрузка операторов. Назначение, правила, способы.
- •26. Перегрузка операторов с использованием операторных-функций. Указатель this.
- •27. Перегрузка операторов с использованием дружественных функций.
- •28. Поразрядное копирование. Особенности перегрузки оператора присваивания.
- •29. Перегрузка операторов отношений. Примеры.
- •30. Перегрузка логических операторов. Примеры.
- •31. Перегрузка арифметических операторов. Примеры.
- •33. Перегрузка оператора ”[ ]” для класса со структурными членами-данными (массива).
- •37. Наследование. Конструкторы и деструкторы.
- •38. Наследование. Видимость и доступ к членам базовых и производных классов.
- •39. Статический (перегрузка операторов, функций, функций-членов, конструкторов) полиморфизм.
- •40. Пример описания класса на базе одиночного наследования.
- •41. Функции-шаблоны. Назначение, описание, использование.
- •42. Пример описания и вызова функции-шаблон для суммирования элементов массива.
- •45. Характеристика пространства имен.
- •46. Описание и использование пространства имен (на примере).
- •47. Понятие исключительная ситуация и способы обработки исключений.
- •50. 51.Синтаксис и использование команды try, catch. Варианты использования catch. Генерация исключений командой throw.
- •52. Варианты генерации и обработки исключений.
- •Istream iostrim ostream
- •Ifstream fstream ofstream
- •64. Пример создания и заполнения файла.
- •65. Пример открытия и чтения содержимого файла.
- •66. Пример заполнения файла записями (значение-значение, размещенными в полях 20 и 30 позиций, с прижатием соответственно влево и вправо).
37. Наследование. Конструкторы и деструкторы.
Наследование - один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с инкапсуляцией, полиморфизмом и абстракцией), позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.
Конструктор – наследуется, деструктор не наследуется.
Когда создается объект производного класса, может потребоваться инициализация, как собственных данных, так и инициализация тех, что он унаследовал.
При наличии конструкторов установка собственных данных производится через конструктор произвольно класса, взаимодействуют через конструктор базового класса.
Синтаксис:
[имя_произв.класса] ([список форм. парам.]) : [имя_баз.класса] [<список факт. парам.>]
{\\тело конструктора производного класса}
Особенности:
- на самом деле вызывается 2-функции конструктор базового и конструктор производного класса.
- в списке формальных параметров конструктора производного класса необходимо предусмотреть передачу данных для конструктора базового класса.
- в частном случае тело конструктора может отсутствовать.
- сначала вызывается конструктор производного класса, а затем базового.
- сначала выполняется конструктор базового класса, а затем производного.
38. Наследование. Видимость и доступ к членам базовых и производных классов.
Наследование - один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с инкапсуляцией, полиморфизмом и абстракцией), позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.
При наследовании доступ регулироваться собственными спецификаторами каждого класса и модификаторов доступа наследования классов, которые могут изменить значение спецификаторов доступа классов.
Внутри класса все видят всех (вызов на прямую).
Снаружи есть 2-варианта доступа:
- через объект(public-члены)
- объект производного класса видит в базовом только public, если есть модификатор доступа +public Модификаторы доступа могут изменять видимость членов базового класса для объектов производного класса и для новых производных классов.
3) методы производного класса видят + и # члены (public и protected).
39. Статический (перегрузка операторов, функций, функций-членов, конструкторов) полиморфизм.
Полиморфи́зм — возможность объектов с одинаковой спецификацией иметь различную реализацию. Общность имеет внешнее и внутреннее выражение:
- внешняя общность проявляется как одинаковый набор методов с одинаковыми именами и сигнатурами (именем методов и типами аргументов и их количеством);
- внутренняя общность — одинаковая функциональность методов.
Её можно описать интуитивно или выразить в виде строгих законов, правил, которым должны подчиняться методы. Возможность приписывать разную функциональность одному методу (функции, операции) называется перегрузкой метода (перегрузкой функций, перегрузкой операций).
|
+ |
# |
- |
+ |
+ |
# |
- |
# |
# |
# |
- |
- |
- |
- |
- |