Ragazzi vorrei utilizzare nel mio programma una funzione virtuale pura. Ho creato le varie versioni della funzione per ciascuna classe derivata, e ho reso astratta la classe base.
a questo punto mi chiedo, devo obbligatoriamente creare un array di puntatori ad oggetti per far sì che, a seconda dell'oggetto puntato, venga richiamata una determinata versione della funzione virtuale?
Così insomma:
Base *oggetti[2];
oggetti[0]=&Derivata1(........);
oggetti[1]=&Derivata2(........);
for(int i=0;i<2;i++)
oggetti[i]->funzionevirtuale();
Perchè io invece ho fatto in questo modo:
int main()
{
Base *b;
Derivata1 obj1;
Derivata2 obj2;
b=&ob1;
b->funzionevirtuale();
b=&ob2;
b-> funzionevirtuale();
return 0;
}
E' corretto ugualmente? Scusate le domande demenziali ma a una certa ora mi vengono i dubbi