// Programa clas12.cpp de exemplo para ilustrar conceitos de // classes derivadas // Original do livro TURBO C++ SCHILDT pg 393 #include class X { protected: int i; int j; public: void get_ij(void); void put_ij(void); }; // Em Y, i e j de X tornam-se membros protected. class Y : public X { int k; public: int get_k(void); void make_k(void); }; // Z tem acesso a i e j de X, mas nao a // k de Y, ja que ele e' privado por definicao class Z:public Y { public: void f(void); }; void X::get_ij(void) { cout << "Informe dois numeros: "; 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; } // resultado: // Informe dois numeros: 5 10 // 5 10 // 50 // 2 3