#include class A { int a; public: friend int P(A); void defineA(int); int dameA(void); }; void A::defineA(int x) { a = x; } int A::dameA(void) { return a; } class B { int b; public: friend int P(A); void defineB(int); int dameB(void); }; void B::defineB(int x) { b = x; } int B::dameB(void) { return b; } int P(A OA) { B Ob; Ob.defineB(2); return OA.a*Ob.b; } void main(void) { A Objeto; Objeto.defineA(3); cout << P(Objeto) << endl; }