Çoklu kalıtım (multiple inheritance) bir sınıfın iki veya daha fazla üst sınıftan miras almasını sağlar.Pratikte karışıklıklara (miras alınan iki farklı sınıfta aynı isimde değişkenlerin bulunması gibi) sebep olabildiği için C++ içinde kullanılabilen bu yapı C# içinde kaldırılmış ve yerine arayüz (interface) mantığı getirilmiştir.

Elmas çoklu kalıtımı UML uyumlu gösterimde gösterir.

Örnek:

#include <iostream>
class A
 {protected:
   int a;
  public:
   void olustur_a (int i){a=i;}
  };
class B
 {protected:
   int b;
  public:
   void olustur_b (int i){b=i;}
  };
class C : public A, public B
 {
  public:
   int olustur_ab (){return a*b;}
  };

// Böyle bir kodda C classı işlemini yaparken hem A dan hem de B den değer devralır.