// Programa clas15.cpp de exemplo para ilustrar conceitos de // passagem de argumentos para classe base a partir de classe derivada // Original do livro TURBO C++ SCHILDT pg 399 #include class X { protected: int a; public: X(int i); }; class Y { protected: int b; public: Y(int i); }; // Z herda as duas classes X e Y class Z: public X, public Y { public: Z(int x, int y); int make_ab(void); }; X::X(int i) { a=i; } Y::Y(int i) { b=i; } // Inicializa X e Y por meio do construtor de Z. // Note que Z nao usa x e y nesse exemplo // porem poderia usar. Z::Z(int x, int y) : X(x), Y(y) { cout << "Inicializando Z\n"; } int Z::make_ab(void) { return a*b; } main(void) { Z i(10, 20); cout << i.make_ab(); return 0; } // resultado: // Inicializando Z // 200