Salve a tutti, mi sto avvicinando alla programmazione C++ e sto studiando la parte relativa all'ereditarietà e polimorfismo.
Ho capito come funziona ma ho un dubbio.
Venendo dalla programmazione Java volevo provare l'esempio "classico" delle figure. Tutto funziona, per cui creo la classe base "figure" e le classe derivate "triangle, circle, ecc...".
Il problema è se voglio mettere in atto il polimorfismo come sono abituato a fare non funziona...Nel main:
codice:
figure ar[5] = {r,t,c,r2,t2};
p = &r2;
p->area();
p = ar;
while(n<5){
p->area();
n++;
p++;
}
Creo un array di figure, faccio puntare un puntatore di figure all'array e vorrei eseguire il metodo di calcolo dell'area per ogni figura contenuta nell'array, ma viene eseguito il metodo "area()" della classe base "figure" e non il metodo area() corrispettivo di ogni figura.
Come fare in C++ a eseguire qualcosa del genere? Immagino che il problema sia perchè inserisco le figure in un array di tipo "figure".
Grazie