ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
651
651
EMPFEHLEN
-
20.01.05 19:38 #1
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ich weiss das es sowas gibt weiss nur nicht mehr wie.
Ich möchte eine Klasse mit Informationen schreiben, in der Klasse soll eine Zahlervariable sein, die für alle Objekte den selben Wert hat und auch von allen erhöht werden kann.
So ähnlich wie static.
mfg
umbrasaxum
-
Das is das was du suchst.So ähnlich wie static.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include <iostream> using namespace std; class Object{ public: static int objectCounter; Object(){ objectCounter++; } }; int Object::objectCounter = 0; int main(){ Object o[3]; cout << Object::objectCounter << " objects were constructed!" << endl; return 0; }
Gruß
RedWing"I'm not deaf, I'm ignoring you"
----
-
20.01.05 20:25 #3
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ich bin besser als ich gedacht hab
Danke für die Hilfe.
mfg
umbrasaxum
-
Es gibt natürlich auch noch die Möglichkeit das ganze über einen Konstruktor zu lösen
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#include <iostream> using namespace std; class Object{ Object() {objectCounter=0;} //Der Konstruktor heißt immer gleich wie die Klasse public: static int objectCounter; Object(){ objectCounter++; } }; int main(){ Object o[3]; cout << Object::objectCounter << " objects were constructed!" << endl; return 0; }
Der Konstruktor wird jedes mal dann aufgerufen wenn du die Klasse instanzierst
-
21.01.05 09:40 #5
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Das lässt sich mit Sicherheit nicht kompilieren, weil der Defaultkonstruktor zweimal vorhanden ist. In C++ gibt es keinen Klassenkonstruktor wie in C#.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Es geht aber, wenn du den ersten Constructor weglässt und dafür nur EINMAL IM GANZEN PROGRAMM irgendwo
int Object::objectcounter = 0;
schreibst.
-
21.01.05 12:10 #7
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Ja, in eine .cpp, nicht in eine .h.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
OK!
Den default Construktor muss ich wohl überlesen haben
Danke
-
24.01.05 08:35 #9
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
@Steiner_B
Trotzdem würde es nicht wie gewollt funktionieren, wenn ich nicht alle Objekte auf einmal erzeuge die ich brauch.
mfg
umbrasaxum
Ähnliche Themen
-
Mit einer Klasse Objekte für eine andere Klasse erstellen.
Von New2Java im Forum Java GrundlagenAntworten: 14Letzter Beitrag: 21.11.10, 12:37 -
[C++] Zugriff auf ALLE Objekte einer Klasse
Von Lord-x-DArK im Forum C/C++Antworten: 10Letzter Beitrag: 12.06.08, 15:35 -
Link Hintergrund soll gleich lang sein...
Von Acriss im Forum CSSAntworten: 3Letzter Beitrag: 24.11.07, 18:05 -
In einer Klasse alle Objekte verwalten
Von p-flash im Forum Flash PlattformAntworten: 1Letzter Beitrag: 05.06.05, 17:40 -
Tabelle soll bei jeder Auflösung gleich gross sein
Von Xcurse im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 31.07.01, 08:34





Zitieren
Login






