A ok no problem. una cosa rivedendo il tutto mi è sorto un dubbio(sarò stupido boh xD) riferendoti a questo esempio tuo:
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
class Animale
{
public:
virtual void Parla() = 0;
};
class Gatto: public Animale
{
public:
virtual void Parla()
{
cout << "Miao" << endl;
}
};
class Cane: public Animale
{
public:
virtual void Parla()
{
cout << "Bau" << endl;
}
};
int main()
{
Animale* animale = NULL;
// supponi che qui ci sia una condizione qualsiasi, ad esempio legge un file per fare la scelta
if (true)
animale = new Gatto();
else
animale = new Cane();
animale->Parla();
return 0;
}
per scegliere quale animale è stato fatto non potrei fare pure in questo modo:
if (true)
gatto.parla();
else
cane.parla();
correggimi se sbagliato