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:
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.codice:figure ar[5] = {r,t,c,r2,t2}; p = &r2; p->area(); p = ar; while(n<5){ p->area(); n++; p++; }
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