Article View: de.comp.lang.c++
Article #975Re: Probleme mit statischen Variablen in Methoden von Klassen.
From: Hans-Ch. Eckert
Date: Thu, 07 Dec 1995 14:33
Date: Thu, 07 Dec 1995 14:33
54 lines
2361 bytes
2361 bytes
In <uzs198.233.00682EC7@uni-bonn.de>, uzs198@uni-bonn.de (Nik Wiesel) writes:
] Ich moechte lokale statische Variablen in einer Methode definieren. Diese
] sollen aber bei den jeweiligen Instanzen der Klasse unabhaengig sein. Jede
] Methode innerhalb der unterschiedlichen Instanzen soll also bei einem erneuten
] Aufruf ihren Wert vom Vorigen Aufruf behalten. Dieser soll aber unabhaengig
] von weiteren Instanzen der Klasse sein.
Es gibt zum einen Membervariablen. Deren Werte sind statisch gegenueber
Methodenaufrufen und global innerhalb der Klasse, d.h. allen Methoden
bekannt. Jede Instanz der Klasse hat ihre eigene Kopie der Membervariablen,
so dass sich die Werte zwischen verschiedenen Instanzen nicht beeinflussen.
// Beispiel
class foo
{
int mFooMember;
public:
foo() { mFooMember = 0; }
int method( int i ) { return mFooMember += i; }
};
int main()
{
foo f1;
foo f2;
int val1 = 0;
int val2 = 0;
val1 = f1.method(1); // val1=1
val2 = f2.method(2); // val2=2
val1 = f1.method(2); // val1=3 (1+2)
val2 = f2.method(3); // val2=4 (2+2)
val1 = f1.method(3); // val1=6 (3+3)
return val1+val2; // Addition gegen Optimierung...
}
Zum anderen gibt es auch noch statische Variablen bezueglich einer
Klasse. Diese enthalten dann Werte, die ueber alle Objekte hinweg
gleich sind.
int foo::classVar;
Gruss,
Ripley
--
Hans-Ch. Eckert, Regensburger Str.2, 10777 Berlin, Germany * ISO 8859-1
(intl) ripley@nostromo.in-berlin.de, * Γ Γ Γ
Alternative: ripley@cs.tu-berlin.de * aeoeuess
NeXTmail: hansagia@w271zrz.zrz.tu-berlin.de (and nowhere else!) * Γ€ ΓΆ ΓΌ Γ
Technical Details
Message-ID:
<H.elF.rvn862cocSq0w@nostromo.in-berlin.de>Path:
arc1-ca.pugleaf.net!nostromo.in-berlin.de!ripleyReferences:
<uzs198.225.01416FE7@uni-bonn.de> <49uqt3$dcd@rzsun02.rrz.uni-hamburg.de> <uzs198.233.00682EC7@uni-bonn.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!nostromo.in-berlin.de!ripley From: ripley@nostromo.in-berlin.de (Hans-Ch. Eckert) Newsgroups: de.comp.lang.c++ Message-ID: <H.elF.rvn862cocSq0w@nostromo.in-berlin.de> Organization: Private Access TOS, 10777 Berlin, FRG Subject: Re: Probleme mit statischen Variablen in Methoden von Klassen. References: <uzs198.225.01416FE7@uni-bonn.de> <49uqt3$dcd@rzsun02.rrz.uni-hamburg.de> <uzs198.233.00682EC7@uni-bonn.de> Reply-To: ripley@nostromo.in-berlin.de X-Software: HERMES GUS 1.15.5 Rev. 23 May 1995 Date: Thu, 07 Dec 1995 15:33:34 MET MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit