// File: pd.h // // An example of a simple private derivation #ifndef _pd_h #define _pd_h #include #include #include class Base { public: Base() : public_data(1), protected_data(2), private_data(3) {} int public_data ; void add1() { public_data++ ; } void print() { cout << public_data << " " << protected_data << " " << private_data << endl ; } protected: void add2() { protected_data++ ; } int protected_data ; private: int private_data ; } ; class PrivDer : private Base { friend void buddy(PrivDer&) ; public: PrivDer() : x(5) {} int x ; void pdmem() ; void print() { cout << x << " " ; Base::print() ; } } ; #endif