Ich beginne mit etwas Kontext.Wie rufe ich eine Funktion in einer Klasse aus einer anderen Klasse auf? (C++)
Machen Sie ein einfaches Spiel.
Ich habe zwei Klassen, eine namens BouncingBall, und die andere namens ASCIIRenderer. Ich habe eine Liste von Anweisungen zu folgen, aber einige der Anweisungen sind nicht ganz klar.
Die erste Anweisung war, einen Zeiger in BouncingBall mit dem Namen m_pRenderer zu erstellen und auf eine Elementvariable in ASCIIRenderer zu zeigen. Es wurde nicht angegeben, auf welche Member-Variable ich verweisen musste, und beide vorhandenen Member-Variablen waren privat, also habe ich meine eigene erstellt und sie als Renderer bezeichnet.
Zweite Anweisung (die ich brauche Hilfe) ist, wenn ich eine Funktion für die BouncingBall-Klasse schreibe SetPixel mit dem m_pRenderer, und mit drei Variablen als Parameter.
SetPixel ist der Name einer öffentlichen Funktion in der ASCIIRenderer-Klasse, und die Anweisung besagt, dass ich sie mithilfe des Zeigers irgendwie aufrufen muss.
Zusammenfassung: Ich muss die Funktion einer Klasse innerhalb der Funktion einer separaten Klasse mit einem Zeiger aufrufen.
Könnte mir jemand erklären, welche Syntax ich verwenden würde, um dies zu erreichen?
'm_pRenderer-> setPixel (m_PositionX, m_PositionY (Ball); ' –
Wenn ich das eintrage, erhalte ich einen Fehler unter dem m_pRenderer, die genaue Fehlermeldung lautet: Ausdruck muss einen Zeigertyp haben. – ShadowPrice57
Dann sind Sie nicht der ersten Anweisung gefolgt, die besagt, dass Sie einen * Zeiger * namens 'm_pRenderer' erstellen sollen. –