Heritage.

Heritage.

See version :

Pas de dépendances

Download :

#include <iostream>
#include <cstdlib>

using namespace std;


class Vaisseau
{
protected:
    int a;
public:
    Vaisseau() {cout << "Vaisseau::Vaisseau" << endl;}
    ~Vaisseau(){cout << "Vaisseau::~Vaisseau" << endl;}
    void plouf(){cout << "Vaisseau::plouf" << endl;}
    void test_vaisseau()
    {
        a=1;
        cout << "Vaisseau::test_vaisseau" << endl;
    }
};

class LanceMissile:public Vaisseau
{
protected:
    int b;
public:
    LanceMissile(){cout << "LanceMissile::LanceMissile" << endl;}
    ~LanceMissile(){cout << "LanceMissile::~LanceMissile" << endl;}
    void plouf(){cout << "LanceMissile::plouf" << endl;}
    void test_lancemissile()
    {
        a=2;
        b=3;
        cout << "LanceMissile::test_lancemissile" << endl;
    }
};

class MantaShip:public LanceMissile
{
protected:
    int c;
public:
    MantaShip(){cout << "MantaShip::MantaShip" << endl;}
    ~MantaShip(){cout << "MantaShip::~MantaShip" << endl;}
    void plouf(){cout << "MantaShip::plouf" << endl;}
    void test_mantaship()
    {
        a=4;
        b=5;
        c=6;
        cout << "MantaShip::test_mantaship" << endl;
    }
    void testheritagesecurit()
    {
        test_lancemissile();
        test_vaisseau();
    }
};


void fonc()
{
    cout << "infonc" << endl;
    MantaShip m;
    m.plouf();
    m.test_mantaship();
    m.test_lancemissile();
    m.test_vaisseau();
    cout << "fin fonc" << endl;
}

void fonc2()
{
    cout << "infonc2" << endl;
    LanceMissile m;
    m.plouf();
    //m.Vaisseau::plouf();
    m.test_lancemissile();
    m.test_vaisseau();
    cout << "fin fonc2" << endl;
}

void fonc3()
{
    cout << "infonc3" << endl;
    Vaisseau m;
    //m.a = 5;
    m.plouf();
    m.test_vaisseau();
    cout << "fin fonc3" << endl;
}

int main()
{
    fonc();
    fonc2();
    fonc3();
    system("pause");
    return 0;
}



Explanations

	No explanations yet.