But foo has to be a public function unless you want to declare B as a friend class within A:Code:class A { public: void foo() { } }; class B { public: void bar( A &a_inst ) { a_inst.foo(); } }; /* ... */ int main( void ) { A a; B b; b.bar( a ); return 0; }
Code:class A { friend class B; private: void foo() { std::cout<< "A::foo() method called\n"; } public: }; class B { private: public: void bar( A &a_inst ) { a_inst.foo(); } }; /* ... */ int main( void ) { A a; B b; b.bar( a ); return 0; }