C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Zugriffsbeschränkung bei statischen data members

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Alexander Mahr
Guest





PostPosted: Wed Sep 24, 2003 3:01 pm    Post subject: Zugriffsbeschränkung bei statischen data members Reply with quote



Hallo Newsgroup,

Statische data members sind eine gängige Art Daten zwischen den Objetkten
einer Klasse auszutauschen,
bzw diese Daten gemeinsam zu benutzen. Allerdings führt das keyword static
zu einer mir unerklärlichen
Einschränkung: Die statischen data members können nur in der Datei in
welcher sie deklariert wurden
verändert werden , bzw sie sind eigentlich nur in dieser datei existent.

Gibt es bei diesem "Problem" ein work-around?

Danke für Hilfe und Antwort schon im Voraus,

Cu Alexander

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Alexander Mahr
Guest





PostPosted: Wed Sep 24, 2003 4:34 pm    Post subject: Re: Zugriffsbeschränkung bei statischen data members Reply with quote



"Falk Tannhäuser" wrote:
Quote:
Ohne (maximal vereinfachten) Beispielkode, welcher dein Problem
reproduziert,
sieht es schwierig aus, eine Lösung zu finden...

Normalerweise hat man sowas:

------------ Datei: foo.H ------------
class foo
{
public:
static int bar;
static int const blupp = 666;
};

------------ Datei: foo.C ------------
#include "foo.H"

int foo::bar = 42;
int const foo::blupp;
---------------------------------------

In jeder weiteren Übersetzungseinheit mit '#include "foo.H" sind foo::bar
und foo::blupp zugänglich, doch nur foo::bar kann geändert werden
(vorausgesetzt, dass dort die Zugriffsrechte auf public/protected/private
foo-Members vorhanden sind).

Danke für die schnelle Hilfe,

Da das keyword je nachdem wo man es einsetzt "data meber", "globale
variable", "member function" ne andere function
hat habe ich gedacht static würde bedeuten das auch "data member" einer
Klasse nur noch von Functionen welche innerhalb
der Datei stehen in welchen die Klasse deklariert wied zugreifbar ist .
Sozusagen das static das gegenteil von extern(keyword) ist.

das war aber nicht mein fehler. Ich habe nur nicht gedacht das mit

class foo
{
static int data;
}

bereits speicher für foo::data bereit gestellt wäre
mit
main()
{
static in data
}

wäre es ja so

Jetzt weiss ich das ein

int foo::data;
noch notwendig ist

Danke für die Hilfe

CU Alexander

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.