Du hast die Funktion GetGlobalBounds. Diese gibt dir ein FloatRect zurück. Ein FloatRect hat die Funktion Intersects welche anscheinend auf (ich nenne es mal) Kollision prüft. Also wirklich wenn du damit jetzt nicht weiter kommst, dann tu dir selbst den Gefallen und mach erst mal noch was einfacheres. Die Grundlagen vom Programmieren mit C++ solltest du dir auch noch mal ansehen. Templates sind auch halb so wild. Und alles was du am Anfang über Vektoren wissen musst ist eigentlich folgendes:
In einem 2D Spiel werden die Koordinaten durch X und Y bestimmt. Ein Vektor speichert jetzt erst mal einfach beide Koordinaten in einer Klasse. So musst du nicht jedes mal X und Y übergeben sondern kannst beides als ein Objekt übergeben. Wenn du jetzt eine Bewegung in eine Richtung hast, dann benutzt du normalerweise keinen Winkel und eine Länge in Richtung des Winkels sondern benutzt einen Vektor der dir den Anteil der Bewegung in X und Y aufteilt. Stell dir das ganze als Rechteck vor. Einer der Eckpunkte ist die Position des Objektes und von dem Punkt aus die Diagonale ist die Linie an der du dich bewegen willst. Dann ist eine Seite des Rechtecks der Teil für die X Achse und der andere der Teil für die Y Achse.
Was ich hier geschrieben habe hat mit dem mathematischen Hintergrund von Vektoren erst mal gar nichts zu tun. Ich weiß nicht welchen mathematischen Hintergrund du hast deswegen hab ich das einfach mal versucht so zu beschreiben. Hinterher wirst du noch viele andere tolle Dinge sehen die man mit Vektoren machen kann.
So und jetzt hinsetzen. Programmierbuch aufschlagen und pauken