title: How to make a derived class access the private member data?
body: <p>I'm stuck with a c++ problem. I have a base class that has a self referential object pointer inside the private visibility region of the class. I have a constructor in the base class that    initializes these two pointers. Now I have my derived class whose access specifier is private(I want to make the public member functions of my base class private). Now through the member functions of my derived class I want to create an object pointer which can point to the private data of the base class, that is ,those self referential object pointers. My code is:</p>
  
  <pre><code>class base{
  private:
       base *ptr1;
       int data;
  public:
       base(){}
       base(int d) { data=d }
  };
  
  class derived:private base{
  public:
       void member()
  };
  
  void derived::member()
  {
  base *temp=new base(val); //val is some integer
  temp-&gt;ptr1=NULL; //I can't make this happen. To do this I had to declare all the
                   //private members of the base class public. 
  }
  </code></pre>