Multiple inheritance example

Multiple inheritance example

#include<iostream>

using namespace std;

class Base1
{
    public:
    void f1()
    {
        cout<<"base1.f1() cagrildin";
    }
};

class Base2
{
    public:
    void f2()
    {
        cout<<"base2.f2() cagrildin";
    }
};

class Base3
{
  public:
  void f3()
  {
      cout<<"base3.f3() cagrildin";
  }
};

class derived:public Base1,public Base2, public Base3
{
  public:
  void f2()
  {
      cout<<"derived.f2() cagrildin";
  }
  void f3(int a)
  {
      cout<<"derived.f3() cagrildi a: "<<a<<endl;
  }
};

int main()
{
    derived x;

    x.f1();
    x.f2(); //derived daki function çalıştı
    x.Base2::f2();
    //x.f3(); error çünkü ilk kendi fonksiyonuna bakar sonra base !
    x.Base3::f3(); //base3 gitti ve function çağırdı
    x.f3(3); //kendi functionını çalıştırdı
    return 0;
}