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
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
class Graphic { public: Graphic(int width, int height, ... virtual void Some2DFunction(...); ... private: int mWidth; int mHeight; ... }; |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 |
class Graphic2 : public Graphic { public Graphic2(int Width, int Height, int ZBufferSize, int StencilBufferSize... virtual void Some3DFunction(...); ... private: int ZBufferSize; int StencilBufferSize; }; |
Quellcode |
|
1 2 |
class Graphic2 : public IGraphic class Graphic3 : public IGraphic |
Quellcode |
|
1 |
void CreateGraphicManager( IGraphic* pMgr ); |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 |
class IGraphic { public: virtual ~IGraphic() { } virtual void Create() = 0; virtual void Shutdown() = 0; virtual void WasAuchImmer() = 0; // usw. }; |
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Graphic1 :IGraphic { public: //Überschriebene Methoden ~Grapfic1() { } void Create(); void Shutdown(); //Zugefügte Methoden bool Load3DModel(..); usw. }; |
Administrator
Zitat von »"Jo"«
Wenn dir dann doch noch auffallt, dass dir eine Methode in der IGraphic fehlt, kannst du eine weiter abstrakte Klasse erstellen, die dann die abstrakten Methoden von IGraphic erbt und weitere hinzufügt.
Zitat von »"David Scherfgen"«
Die ganze Idee ist meiner Meinung nach ziemlich sinnlos, weil 2D- und 3D-Grafik nunmal was völlig Verschiedenes sind.
Administrator
Zitat von »"Eruvae"«
Nein. Es geht mir nur um die Erweiterung. Das war nur ein Beispiel. Warum versteht das denn niemand?
Zitat
Die alten 2D-Funktionen sollen weiterhin unterstützt werden von einem Graphic2 Objekt. Aber wie löse ich das mit den Memebervariablen? Soll jede abgeleitete Graphierweiterung dann seine eigenen mHeight und mWidth usw haben...?
Werbeanzeige