Ç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.

  NODES