Frage zu OOP
-
Hallo, allesamt!
Ich habe in einem Programm (vereinfacht) vier Klassen:
- CGame -> Hauptprogramm
- CChar -> Bewegliches Sprite
- CMap -> lädt die Spielkarte
- CTileSet -> teilt ein Sprite-Bild in Teile ein, die dann angesprochen werden können.CGame hat je eine Instanz von CChar und CMap, also:
//CGame.h #include "CChar.h" #include "CMap.h" ...Jetzt soll aber sowohl CMap als auch CChar je eine Instanz von CTileSet bekommen, um die Tiles zu laden:
// CMap.h und auch CChar.h #include "CTileSet.h" ...Das sorgt jetzt für einen Fehler in Visual Studio, weil die Klasse CTileSet beim Kompilieren von CChar.h bereits durch CMap.h bekannt ist.
Wie löse ich so eine Situation am besten auf? Ich kann natürlich eine Klasse CTileSetChar und eine Klasse CTileSetMap bereitstellen, aber das ist irgendwie nicht ganz im Sinne von OOP.

Vielen Dank im Voraus!
IceBaer
-
include guards (=>Suchfunktion, Google) oder "#pragma once" am Anfang des Headers, so verhindert man doppeltes Einbinden (und somit den daraus resultierenden Fehler).
-
Das wars, vielen Dank!
