title: C++ multiple inheritance preventing diamond
body: <p>Is there a way to define a class Foo in C++
  so that</p>
  
  <ol>
  <li>I can inherit from it</li>
  <li>I can't "diamond inherit" from it</li>
  </ol>
  
  <p>I.e.</p>
  
  <pre><code>class Cat: public Foo{} // okay
  class Dog: public Foo{} // okay
  class Weird: public Cat, public Dog {} // I want this to throw a compiler error
  </code></pre>