Содержание
- 2. Наследование свойств Поле А Поле Б Поле В Поле А Поле Б Поле В Поле Г
- 3. Наследование поведения метод1(…) метод2(…) метод3(…) метод1(...) метод2(...) метод3(...) метод4(...) базовый класс производный класс определены в базовом
- 4. Права доступа при наследовании Общее правило: Методы производного класса имеют доступ к полям и методам базового
- 5. Ситуация без наследования Извне можно обращаться только public полям и методам Методы класса А имеют доступ
- 6. Ситуация с общим (public) наследованием
- 7. Таблица прав доступа при public-наследовании
- 8. Пример общего наследования Класс счетчика (Counter) Использование: подсчет числа определенных событий (например, числа скачиваний файла) Поля:
- 9. class Counter { protected: unsigned int count; public: Counter() : count(0) { } Counter(int c) :
- 10. int main() { Counter c1; // объект класса Counter cout ++c1; ++c1; ++c1; cout cout return
- 11. Производный класс – счетчик с уменьшением Класс CountDn : наследник Counter Методы: operator--() – уменьшение счетчика.
- 12. class CountDn : public Counter { public: Counter operator--() { return Counter(--count); } }; Производный класс
- 13. int main() { CountDn c2; cout ++c2; ++c2; ++c2; cout --c2; --c2; cout return 0; }
- 14. Конструктор производного класса class CountDn : public Counter { public: CountDn() : Counter() { } CountDn(int
- 15. Общее и частное наследование Альтернативой спецификатору доступа public при наследовании является спецификатор private. При частном (private)
- 16. Права доступа
- 17. Пример с общим и частным наследованием #include using namespace std; class A // базовый класс A
- 18. Иерархии классов вертикальные связи в системе Пример: база данных сотрудников предприятия
- 19. Множественное наследование Класс может быть производным от нескольких базовых классов. Такой случай называют множественным наследованием.
- 20. Синтаксис множественного наследования class A { }; class B { }; class C : public A,
- 22. Скачать презентацию