title: Multiple inheritance hierarchy
body: <p>I'm looking for a clean way of doing this since a long time. In my problem, there exist 3 classes not sharing any parent in common but each having some methods with the same name (A.doSomething, B.doSomething, C.doSomething). Hence, having the same function signature, class D inheriting from A and using method doSomething() will "look the same" to E inheriting from B or C .</p>
  
  <p>Here is a sketch of what I'd like to be able to do:</p>
  
  <pre><code>class Base {
      public:
      void myMethod(void) { doSomething(); }
  };
  
  class Independent {
      public:
          doSomething();
  };
  
  clase Derived : public Base : public Independent {
   (...)
  };
  
  int main(void) {
     Derived *derivedObject = new Derived();
     derivedObject-&gt;myMethod();
  }
  </code></pre>
  
  <p>In this problem, object of type "Independent" is provided by a library that I cannot change. I would like to define a base class that uses methods that are going to be inherited later on. I couldn't find a proper way of doing this using virtual inheritance without causing ambiguous compiling. </p>