    TDerived наследует данные-член count, но не может получить к нему 
непосредственный доступ 
    Конструкторы никогда не наследуются____ 
    class TBase { private: 
    int count; public: 
    TBase() { count = 0; } void SetCount (int n) 
    { count = n; } int GetCount(void) 
    { return count; } 
    class TDerived: public TBase { private: 
    int secondCount; public: 
    TDerivedf) 
    void ChangeCount(int n) 
    { SetCount(GetCount() + n); } 
    Функции-члены наследуются производным классом____ 

    Рис. 14.5. Взаимосвязь классов TBase и TDerived 

    Защищенные члены класса 

    Защищенный член класса — нечто среднее между закрытым и открытым членом. 
Подобно закрытым членам, защищенные доступны только функциям-членам класса. 
Вне класса защищенные члены невидимы. Подобно открытым членам, защищенные 
наследуются производными классами и доступны функциям-членам производных 
классов. Рис. 14.6 иллюстрирует родственные взаимосвязи между производными и 
базовыми классами и их закрытыми, защищенными и открытыми членами. 

    Наследуются, но не доступны в производном классе 
    Базовый класс 
    Закрытые члены 
    Защищенные члены 
    Открытые члены^"^,/ 
    Базовый класс 
    ->•   Унаследованные члены 
    -*•   Унаследованные члены 
    Защищенные члены наследуются и доступны производному классу, но не во 
внешних операторах "*   Унаследованные члены 
    Открытые члены наследуются и доступны для всеобщего использования 

    Рис. 14.6. Закрытые, защищенные и открытые члены в базовом и производном классе 

    Имейте в виду несколько следующих правил, когда будете решать, делать ли 
член класса закрытым, защищенным или открытым. 
    •   Закрытые члены доступны только в классе, в котором они объявлены.
    •   Защищенные члены доступны членам их собственного класса и всем членам 
производных классов. 
    •   Открытые члены доступны членам их собственного класса, членам 
производных классов и всем остальным пользователям этого класса. 

    ЗАМЕЧАНИЕ 

    В главе15 объясняется, как друзья класса могут обойти эти правила. 

    340 Часть III. Программирование на ANSI C++ 
