title: C++ Make function unaccessable in the child class
body: <p>I have complex parent class which is being inherited. For now I need just to override a handful of its functions and would like to prevent somehow the possibility to call some non-overridden functions of the parent class in the child object (these functions from parent class would not work properly). I would define them later, if necessary, just want to make it clear, that for now they are not usable, <strong>but still inherit some functions to make polymorphism possible</strong>. Is it possible to achieve it? Or do I need to change the design?</p>
  
  <p>Here is a small example:</p>
  
  <pre><code>class ParentClass
  {
  public:
      virtual void write() { ... }
      virtual void read() { ... }
      virtual void calculate() { ... }
  };
  
  class ChildClass : public ParentClass
  {
  public:
      void calculate() override { ... }
  };
  </code></pre>
  
  <p>I would like to prevent the possibility to call <code>read</code> or <code>write</code> functions from the <code>ChildClass</code> object, because these functions are complex to define and I don't need them right now. But at the same time I would like to prevent someone from using parent inherited functions in <code>ChildClass</code>. What is important, <code>Parent class</code> is defined in the 3rd party library and I cannot change the parent class.</p>
  
  <p>My (clumsy) idea was to override these functions and throw in them to make it obvious, that they are not accessible, but it is so far from proper design... What could be the proper solution?</p>