Home Segments Index Top Previous Next

523: Mainline

To see that the member-variable protection imposed by a protected derivation persists in classes derived from the subclass, suppose that you define a refrigerator_car class to be a class derived from the box_car class. Further suppose that the derivation is public or protected. Then, if you define a display_height function in the refrigerator_car class definition, that display_height function can get at the height member variable declared in the box class definition:

box              <-- Height declared to be a public member variable 
 ^ 
 |               <-- Protected derivation 
 | 
box_car          <-- Height member variable acts as though protected 
 ^ 
 |               <-- Public derivation 
 | 
refrigerator_car <-- Height member variable is accessible 
                     to member functions