Ciao, mastico leggermente il C++ e stavo guardando un tutorial sui primi script di esempio che si possono fare su Unreal Engine 4. Purtroppo il tizio è americano e io non vado d'accordo con il loro modo di spiegare le cose.

Dunque, nell'esempio fa vedere che in una classe genitore
(chiamiamola, ad esempio, Pallina.h, che è relativa ad una pallina messa nella scena),
c'è una funzione così:

virtual void BeginPlay() override;

Poi, nel file Pallina.cpp, vedo:

void APallina::BeginPlay()

{
Super::BeginPlay();

}


E' una funzione che serve a far "spawnare" la pallina nella scena e a darle vita appena inizia il gioco.

Ecco io ho letto in giro che virtual void serve a dare la possibilità di modificare la funzione a partire da classi figlie.
Ma in questo caso non capisco a cosa servano le scritte "override", e "Super::", perché se sul web cerco a che cosa serve virtual void non ci sono queste scritte aggiuntive, quindi penso che siano opzionali ma nel tutorial le dà per scontate e non le spiega, perché è una funzione già scritta di default e quindi la tralascia. Io invece volevo capire a che cosa servono e che cosa fanno così composte.

Il tutorial è questo ma è lungo 12 minuti e parte proprio dalla base delle basi per neofiti, quindi non sta facendo niente di articolato.