|
Интерфейсные указатели Наверное, вы считали, что интерфейс класса полностью определяется объявлением класса, но в действительности любой класс может иметь несколько разных интерфейсов в зависимости от клиента. Класс и его друзья видят один интерфейс, включающий всех членов класса и всех защищенных и открытых членов его базовых классов. Производные классы видят только защищенных и открытых членов класса и его базовых классов. Все остальные клиенты видят только открытых членов класса и его базовых классов. Если указатель на объект преобразуется к указателю на его базовый класс, интерфейс ограничивается только открытыми членами базового класса. Открытые, закрытые и защищенные члены; открытое и закрытое наследование; полиморфизм и дружба - все это лишь грубые синтаксические приближения более общей концепции дизайна: один объект может иметь много специализированных интерфейсов. |
Copyright 2005. Климов Александр. All Right Reserved.