Glaub zwar nicht, dass ich das mal ganz verstehen werde
Aber ich!
Sobald du die Sprache gelernt hast, die du da verwendest, dann verstehst du auch den Code, bzw. meine Veränderungen.
Ich kann dir nur empfehlen, dir ein dickes fettes C++ Buch zu kaufen.
Nachtrag:
An deiner Codestrukturierung, Klammersetzung und Einrückung, solltest du noch arbeiten.
Etwas Sorgfalt, macht es deutlich übersichtlicher.