//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;
}