title: Prevent inheritor class from overriding virtual function of base class
body: <p>The situation is like this.</p>
  
  <pre><code>class Interface
  {
  public:
      virtual void foo() = 0;
  }
  
  class MyClass : Interface
  {
  public:
      virtual void bar() = 0;
  private:
      void foo()
      {
          //Some private work and checks.
          bar();
      };
  }
  </code></pre>
  
  <p>I want that my user will create a class which inherit from MyClass, and they will have to implement there <code>bar()</code>.<br>
  But how can I enfoce they wouldn't override <code>foo()</code>? because it's important to me to use my <code>foo()</code>.</p>