Suppose we have the following:
class base{
}
class derived1 : public base{
  private:
  void fun();
  friend class derived2;
}
class derived2 : public base{
  derived1 ob;
  void fun2(){
  ob->fun();
}
I want to use fun() of derived1 in derived2's fun2() wihtout using friend class and keeping fun() private in derived1.