//inheritance example #include class X { protected: //make protected int i; int j; public: void get_ij(void); void put_ij(void); }; class Y : public X { int k; public: int get_k(void); void make_k(void); }; // Z has access to i and j of X, but not to // k of Y, since it is private by default. class Z : public Y { public: void f(void); }; void X::get_ij(void) { cout << "Enter two numbers: "; cin >> i >> j; } void X::put_ij(void) { cout << i << " " << j << "\n"; } int Y::get_k(void) { return k; } void Y::make_k(void) { k = i*j; } void Z::f(void) { i = 2; j = 3; } main(void) { Y var; Z var2; var.get_ij(); var.put_ij(); var.make_k(); cout << var.get_k(); cout << "\n"; var2.f(); var2.put_ij(); return 0; }