quinta-feira, 20 de janeiro de 2011

Exemplo de uma Herança em C++

#include<iostream>
#include<string>

using namespace std;

class Animal{
    string nome;
public:
    Animal(string n):nome(n){}

    virtual string Especie() const=0;

    static int Compativeis(const Animal &a1, const Animal &a2){
        return a1.Especie()==a2.Especie();
    }
};

class Gato: public Animal{
public:
    Gato(string n):Animal(n){}

    string Especie()const{
        return("Gato");
    }

};

class Cao: public Animal{
public:
    Cao(string n):Animal(n){}

    string Especie()const{
        return("Cao");
    }
};

void main(){
    Gato *g1=new Gato("Mia");
    Cao *c1=new Cao("Nely");
    cout<<g1->Especie()<<endl;
    cout<<c1->Especie()<<endl;

    if(Animal::Compativeis(*g1, *c1))
        cout<<"Compativeis"<<endl;
    else
        cout<<"Incompativeis"<<endl;
    delete g1;
    delete c1;


    system("pause");
}

Saída Standard:

Sem comentários:

Enviar um comentário