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
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
class basic { public: basic (unsigned long id) : id_(id) {} virtual ~basic (void) {} private: unsigned long id_; } class foobar : public basic { public: foobar (unsigned long id) : basic(id) {} foobar (void) {} } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class CBase { public: CBase(){Init();} virtual void Init(){cout<<"Base";} };// CBase class CFoo : CBase { public: virtual void Init(){cout<<"Foo";} };// CFoo int _tmain(int argc, _TCHAR* argv[]) { CFoo foo; getch(); return 0; } |
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class CBase { public: CBase(){Init();} void Init(){cout<<"Base";} };// CBase class CFoo : CBase { public: void Init(){cout<<"Foo";} };// CFoo int _tmain(int argc, _TCHAR* argv[]) { CFoo foo; getch(); return 0; } |
Alter Hase
Zitat von »"nix da"«
mach doch das virtual weg? dann gehts.
Zitat von »"Lemming"«
Wie krieg ich es hin, dass hier die Ausgabe "Foo" gebracht wird?
denn das, was ich erreichen will ist dass ich in den abgeerbten klassen nicht mehr in den konstruktor reinschreiben muss, dass sie init aufrufen sollen. ich hätts gern, wenn das automatisch ginge...
Zitat
In diesem Fall meiner Meinung gar nicht. Denn Init wird im Konstuktor von CBase aufgerufen und dort hat Init nun mal die Aufgabe Base auszugeben
Zitat von »"Nox"«
Also ich habe das per Funktionszeiger umgangen.
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
class netzwerk { static int countinstance; protected: int Socket; void (*Funktion)(void*); public: #ifdef _WIN32 static CRITICAL_SECTION Errorsec; #else static pthread_mutex_t Errorsec; #endif netzwerk(); ~netzwerk(); Status status; char* LastError; void empfangstarten(void); void geterror(void); }; class clientclass : public netzwerk { protected: static void empfangen(void*); void AddPaket(Paket*); public: Paket* QueryPaket(void); clientclass(); ~clientclass(); void senden(void* daten, int size, int ID); void Ping(void); traeger *empfangenedaten; int lastping; }; |
C-/C++-Quelltext |
|
1 2 3 4 5 |
clientclass::clientclass() : empfangenedaten(NULL) { lastping = -1; Funktion = empfangen; } |
Werbeanzeige