Wanderfalke
Aktives Mitglied
Thread Starter
- Dabei seit
- 28.12.2007
- Beiträge
- 616
- Reaktionspunkte
- 5
hey,
ich habe hier dieses Programmbeispiel und ich verstehe die Ausgabe dabei nicht:
die Ausgabe lautet folgendermaßen:
Dabei verstehe ich nicht, wieso z.B. bei der zweiten Ausgabe nicht auch 2 steht. schließlich wurde unter "public" doch "mWert=lfd_nr" gesetzt. Warum ist die dann nicht gleich?
Könnt ihr mir dabei helfen?
ich habe hier dieses Programmbeispiel und ich verstehe die Ausgabe dabei nicht:
Code:
#include <iostream>
using namespace std;
class Statisch {
private:
int mWert;
static int lfd_nr;
public:
Statisch () {lfd_nr++; mWert=lfd_nr;}
void leseWert(void);
};
void Statisch::leseWert(void) {
cout << "\nWert von lfd_nr. " << lfd_nr;
cout << " lfd_nr bei Erzeugung des Objekts: " << mWert;
}
int Statisch::lfd_nr=0;
int main() {
Statisch a;
a.leseWert();
Statisch b;
a.leseWert();
b.leseWert();
Statisch c;
a.leseWert();
b.leseWert();
c.leseWert();
cout << endl << endl;
return 0;
}
die Ausgabe lautet folgendermaßen:
Code:
Wert von lfd_nr. 1 lfd_nr bei Erzeugung des Objekts: 1
Wert von lfd_nr. 2 lfd_nr bei Erzeugung des Objekts: 1
Wert von lfd_nr. 2 lfd_nr bei Erzeugung des Objekts: 2
Wert von lfd_nr. 3 lfd_nr bei Erzeugung des Objekts: 1
Wert von lfd_nr. 3 lfd_nr bei Erzeugung des Objekts: 2
Wert von lfd_nr. 3 lfd_nr bei Erzeugung des Objekts: 3
Dabei verstehe ich nicht, wieso z.B. bei der zweiten Ausgabe nicht auch 2 steht. schließlich wurde unter "public" doch "mWert=lfd_nr" gesetzt. Warum ist die dann nicht gleich?
Könnt ihr mir dabei helfen?