πŸš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #975

Re: Probleme mit statischen Variablen in Methoden von Klassen.

#975
From: Hans-Ch. Eckert
Date: Thu, 07 Dec 1995 14:33
54 lines
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!ripley
References: <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