title: C++: overriding public\private inheritance
body: <p>If <code>B</code> inherits from <code>A</code> using <code>public</code>, can <code>B</code> override one of the functions and force it to be private?</p>
  
  <pre><code>class A
  {
  public:
      virtual double my_func1(int i);
      virtual double my_func2(int i);
  }
  
  class B : public A // Notice the public inheritance
  {
  public:
      virtual double my_func1(int i);
  private:
      virtual double my_func2(int i);
  }
  </code></pre>
  
  <p>How about the other way around? if the inheritance type is private - can <code>B</code> force a specific function to be public?</p>
  
  <p>What if <code>A</code> is pure abstract? does it make a difference?</p>
  
  <p>Would <code>protected</code> make any difference in any combination?</p>