000
11.11.2004, 20:04 Uhr
~RIP
Gast
|
Kann ein Klasse mehrere Konstruktoren haben?
folgendes Problem: ich habe eine Basisklasse: "CGLwindow" Von dieser Basisklasse habe ich eine Klasse vererbt: "class CGLwin2D : public CGLwindow"
... soweit so gut ...
Die Basisklasse CGLwindow dient zum Erzeugen eines Fensters mit Rahmen und Menü, Titelleiste, Cancel-Buttons usw. ... Die vererbte Klasse "CGLwin2D" ist für den Inhalt des Fenster, welches ich in der Basisklasse 'konstruiert' habe verantwortlich Das ganze ist halt ein Windows ähnliches Fenstersystem für OpenGL. Jetzt erzeuge ich ein Objekt der Klasse CGLwin2D - nur da erscheint folgendes: c_PROJEKTE\...\HEADERS\GLwindows.h(165): error C2512: 'CGLwindow': Kein geeigneter Standardkonstruktor verfügbar
Muss ich den Konstruktor irgendwie manuell von der vererbten Klasse aufrufen? Oder gibt es eine Art Defaultkonstruktor extra für vererbte Klassen? Kann man einen Konstruktor defnieren der für die Basisklasse und einen der für alle vererbten Klassen verwendet wird erstellen? *echt verwirrt* (:screwy
ich habe in der basisklasse dieses Konstrukor verwendet (falls das irgendwie hilft?!?):
C++: |
CGLwindow(int _layer, bool _bactive, int _posx, int _posy, int _sizex, int _sizey, char *_windname) // Konstruktor { layer=_layer; bactive=_bactive; // kleine 'Nebenfrage' - wie kann ich mir dieses 'Doppeltschreiben' ersparen? posx=_posx; posy=_posy; sizex=_sizex; sizey=_sizey; hasFILE=true; hasEDIT=true; hasVIEW=true; hasOPTIONS=true; hasSIZEMOD=true; strcpy(windname ,_windname); strcpy(bg_texture,"AVItexture generated by Engine"); };
|
|