Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

18.07.2015, 15:28

C++ Funktion einbinden

Hallo,

ich versuche derzeit die Funktion einer Klasse in eine andere Klasse einzubinden, ohne das Indirektionen entstehen.

Veranschaulicht:
Also aus der Klasse "Engine" möchte ich die Funktion "Draw" in der Klasse "Main" verwenden. Mit verwenden meine ich die Funktion mit statements füllen.
Praktisch wie eine Art Schatten. Ich hätte zwar schon eine grobe Idee, aber es werden dabei die Objekte aus "Engine" nicht mehr in der Funktion "Draw" in "Main" zu verwenden sein.

Ich erwarte nicht, dass das möglich ist. Ich versuch mein Glück mal trotzdem.

Für den Fall das sich jetzt jemand fragt was ich damit vorhabe :
Ich will das die Engine komplett aus der Hauptklasse steuerbar ist, also ohne in diversen Klassen rumschrauben zu müssen.
(Eigentlich nur was Designmäßiges)

Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

18.07.2015, 15:48

Du kannst eine Funktion nur Befüllen, wenn du von der Klasse erbst und die Funktion überschreibst. Ansonsten kannst du natürlich aus der Engine Klasse Funktionen anderer Klassen/Objekte aufrufen und wenn sie sich dabei selbst als Parameter übergibt kann man dort auch auf alle public Member und Methoden der Engine verwenden.

3

19.07.2015, 16:52

Du kannst eine Funktion nur Befüllen, wenn du von der Klasse erbst und die Funktion überschreibst. Ansonsten kannst du natürlich aus der Engine Klasse Funktionen anderer Klassen/Objekte aufrufen und wenn sie sich dabei selbst als Parameter übergibt kann man dort auch auf alle public Member und Methoden der Engine verwenden.
Ich glaube, dass Überschreiben der Funktion ist was ich suche. Allerdings bin ich mir nicht sicher wie genau man das in C++ anstellt. Ich komme von Java.
Damit ich jetzt nur halb so faul aussehe, wie ich eingentlich bin, werde ich mal google befragen.
Ich will das die Engine komplett aus der Hauptklasse steuerbar ist, also ohne in diversen Klassen rumschrauben zu müssen.


Meinst du eine Fassade ?
Ja die Engineklasse wird in dem Schema funktionieren :).



Danke für die schnellen Antworten.

Werbeanzeige