- •1. Указатели, ссылки, квалификатор const.
- •2. Контейнерные типы данных (vector, list, map, set).
- •3. Итераторы.
- •4. Прототип функции. Параметры функции (указатели, ссылки, массивы, по
- •5. Области видимости и пространства имен.
- •6. Перегрузка функций. Разрешение перегрузки.
- •7. Шаблоны функций, конкретизация.
- •8. Обработка исключений. За и против.
- •9. Обобщенные алгоритмы.
- •10. Классы: инкапсуляция данных, уровни доступа к членам, неявный указатель
- •11. Создание и уничтожение объектов класса. Статические члены класса. Открытые и закрытые конструкторы.
- •12. Перегруженные операторы и преобразования, определенные пользователем.
- •13. Шаблоны классов.
- •14. Открытое и закрытое наследование.
- •15. Полиморфизм.
12. Перегруженные операторы и преобразования, определенные пользователем.
Перегруженные операторы и преобразования, определенные пользователем – дают возможность употреблять объекты классов в выражениях так же интуитивно, как и объекты встроенных типов.
Перегруженный оператор, являющийся членом некоторого класса, применяется только тогда, когда левым операндом служит объект этого класса. Иначе оператор обязан быть членом пространства имен. Более того, язык требует, чтобы операторы были определены как члены класса. В противном случае выдается сообщение об ошибке при компиляции.
разработчик может определить собственные преобразования для объектов типа класса. Такие определенные пользователем преобразования также автоматически вызываются компилятором по мере необходимости.
13. Шаблоны классов.
14. Открытое и закрытое наследование.
Открытое наследование называется еще наследованием типа. Производный класс в этом случае является подтипом базового; он замещает реализации всех функций-членов, специфичных для типа базового класса, и наследует общие для типа и подтипа функции. Закрытое наследование называют также наследованием реализации. Производный класс напрямую не поддерживает открытый интерфейс базового, но пользуется его реализацией, предоставляя свой собственный открытый интерфейс. Закрытое наследование от базового класса представляет собой вид наследования, который нельзя описать в терминах подтипов. Третья форма наследования – это защищенное наследование. В таком случае все открытые члены базового класса становятся в производном классе защищенными, т.е. доступными из его дальнейших наследников, но не из любого места программы вне иерархии классов.
15. Полиморфизм.
