Содержание
- 2. Отличие конструктора копирования от конструктора преобразования Входной параметр конструктора копирования имеет тип, описываемый данным классом. Если
- 3. Следующие инструкции вызовут конструктор копирования класса MyClass: MyClass x = y; // y явно инициализирует x
- 4. В двух первых случаях конструктору копирования передается ссылка на y. В последнем случае конструктору копирования передается
- 5. Запрет копирования объектов Возможны ситуации, когда операция копирования объекта не имеет смысла и должна быть запрещена
- 6. Пример class CFile { public: // … private: CFile(Cfile const&); // … };
- 7. Наследование, множественное наследование
- 8. Наследование Объект производного класса обладает всеми методами и атрибутами базового. Помимо них, в него можно добавить
- 9. Наследование. Пример class A { int m_i; float m_f; }; class B: A { double m_d;
- 10. Наследование. Пример class A { int m_i; float m_f; MethodA(); }; class B: A { double
- 11. Множественное наследование class A { int m_i; }; class B { double m_d; }; class C:
- 12. Модификаторы доступа public Поле/метод с таким модификатором доступно отовсюду (из самого класса, из его потомков, из
- 13. Модификаторы доступа При наследовании также указывается модификатор доступа. В соответствии с ним в производном классе изменяются
- 14. Модификаторы доступа. Пример. class A { private: int m_priv; protected: int m_prot; public: int m_pub; };
- 15. Полиморфизм
- 16. Статический полиморфизм в С++ определение в одном классе нескольких методов с одним и тем же именем,
- 17. Виртуальные функции Виртуальные функции используются для того, чтобы можно было работать с объектами разных типов так,
- 18. Виртуальные функции. Пример. class Shape { int cx, cy; virtual void print(); }; class Circle: Shape
- 19. Дружественные функции и классы
- 20. Дружественные функции и классы Иногда желательно дать функциям, не являющимися элементами, доступ к личной части объекта
- 21. ©Павловская Т.А. (СПбГУ ИТМО) class monstr { int health, ammo; char *name; public: friend int steal_ammo(monstr
- 22. ©Павловская Т.А. (СПбГУ ИТМО) Дружественные функции и классы Дружественная функция объявляется внутри класса, к элементам которого
- 23. ©Павловская Т.А. (СПбГУ ИТМО) Дружественные функции.Пример int steal_ammo(monstr &M) { return --M.ammo; } void hero::kill(monstr &M)
- 24. ©Павловская Т.А. (СПбГУ ИТМО) class hero{ ... friend class patriarch; } class patriarch { ... void
- 26. Скачать презентацию