override è un hint al compilatore e serve a forzare il compilatore stesso a verificare che il prototipo della funzione base e di quella derivata siano uguali. Se infatti la funzione di base fosse:
e quella di APallina fosse:codice:Base::BeginPlay() const;
il compilatore le tratta come due funzioni diverse e non ti dice niente.codice:APallina::BeginPlay(); // manca il const
Viceversa se fosse:
e quella di APallina fosse:codice:Base::BeginPlay() const;
il compilatore (in base ai settaggi), può lanciare un warning o un errore e dirti che APallina::BeginPlay(); (senza il const) non ridefinisce nessuna funzione di Base.codice:APallina::BeginPlay() override; // manca il const
Per quanto riguarda Super è un typedef della classe base e serve a richiamare esplicitamente la funzione base.

Rispondi quotando