Ok, so wie ich es dargestellt habe, möchte man tatsächlich meinen, ich hätte eine Idee und wollte die Lösung von euch. Dem ist natürlich nicht so, allerdings befand ich mich wohl in der irrigen Annahme, das Problem sei mit einem einfachen Trick gelöst, aber es gibt glücklicherweise wohl zu viele Möglichkeiten dafür.
Nun gut, der Ansatz wäre gewesen, in der Player.hpp zwei "GetPosition"-Funktionen einzufügen, die dann die x/y-Position zurückgeben. Asteroid.hpp sollte einen weiteren Member bekommen, der ein Zeiger auf die Spielerinstanz Player ist (CPlayer* Player). Außerdem wird in Asteroid.hpp die Player.hpp included. Jetzt könnte man in der Asteroid.cpp über Player->GetPosition auf die Koordinaten zugriefen, allerdings zeigt der Zeiger wohl auf irgendetwas, nur nicht die Player-Speicherstelle, denn das Spiel stürzt auf diese Weise direkt zu Beginn ab.
Irgendwo in dieser Überlegung muss also ein Fehler liegen, und ich hoffe, diesmal ist es nicht dreist, nach diesem zu fragen. Über Antworten würde ich mich außerordentlich freuen.