Главная->Інформатика та програмування->Содержание->Неизменность базового класса

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 9) онлайн

Неизменность базового класса

Вспомним, что при наследовании базовый класс остается неизменным. В функ- ции main() программы COUNTEN мы определили объект типа Counter:

 

Counter c2;        // Объект базового класса

Такие объекты ведут себя так, как если бы класс CountDn не существовал.

Заметим также, что наследование не работает в обратном направлении. Базо- вому классу и его объектам недоступны производные классы. В нашем случае это означает, что объекты класса Counter, такие, как c2, не могут использовать метод operator--() класса CountDn. Если мы хотим иметь возможность уменьше- ния счетчика, то объект должен быть класса CountDn, а не класса Counter.

 

10