ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
517
517
EMPFEHLEN
-
Hallo Leute,
ich suche eine Möglichkeit innerhalb des Konstruktors einer Klasse Variablen zu definieren, die ich dann innerhalb der komplette Klasse ansprechen kann. Ich möchte diese Variablen ungern vorher schon in der Klasse als public deklarieren, weil ich im Konstruktor gleich Werte für die Definition benutzen möchte.
Gibt es soeine Möglichkeit?
Danke schonmal
-
17.11.09 13:53 #2
Moin,
ähh ... meinst du sowas
Code :1 2 3 4 5 6 7 8
CMeineKlasse::CMeineKlasse( int iInteger ) { int iLocal = 0; iLocal = iInteger + 5; // ..... } // CMeineKlasse
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
Jein,
ich will die Variablen im Konstruktor erstellen, sie aber auch dann in anderen Methoden der Klasse verwenden könnnen...
-
17.11.09 15:45 #4
Moin,
na, das geht doch im Prinzip genau so (über eine lokale Variable):
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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
// HEADER: class CMeineKlasse { private: int iIntegerLocal = 0; public: CMeineKlasse(); virtual ~CMeineKlasse(); CMeineKlasse( int iValue ); int fMeineFunktion(); // ... } ------------------------------------------ // CPP: CMeineKlasse::CMeineKlasse(); CMeineKlasse::~CMeineKlasse(); CMeineKlasse::CMeineKlasse( int iValue ) { iIntegerLocal = iValue } // CMeineKlasse int CMeineKlasse::fMeineFunktion(); { int iLokaleVAR = 0; iLokaleVAR = iIntegerLocal; // ... iLokaleVAR += 50; return iLokaleVAR; } ------------------------------------------ // Aufruf in anderer Klasse: int i = 100; CMeineKlasse objMeineKlasse( i ); int iNeu = objMeineKlasse.fMeineFunktion(); // Ausgabe iNeu = 150 ! :-)
Ist nur ein Beispiel und VHIDT
Gruß
KlausGeändert von vfl_freak (17.11.09 um 15:50 Uhr) Grund: kleine Erweiterung wg. Flüchtigkeitsfehler
Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
nene ihr versteht mich falsch.
ich möchte eine variable im Konstruktor deklarieren und definieren und diese dann aber in den anderen methoden der klasse zu verfügung haben...
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 25 26 27 28 29 30 31 32 33 34 35 36 37
// HEADER: class CMeineKlasse { public: CMeineKlasse(); virtual ~CMeineKlasse(); CMeineKlasse( int iValue ); int fMeineFunktion(); // ... } ------------------------------------------ // CPP: CMeineKlasse::CMeineKlasse(); CMeineKlasse::~CMeineKlasse(); CMeineKlasse::CMeineKlasse( int iValue ) { int iIntegerLocal = iValue } // CMeineKlasse int CMeineKlasse::fMeineFunktion(); { int iLokaleVAR = 0; iLokaleVAR = iIntegerLocal; // ... return iLokaleVAR; } ------------------------------------------ // Aufruf in anderer Klasse: int i = 100; CMeineKlasse objMeineKlasse( i );
In dieser Form...
-
17.11.09 16:03 #6
ääh ... und in welcher jetzt


Da hast Doch augenscheinlich nur meinen Code zurück gepostet .....
Ich übergebe den Wert im Konstruktor und schreibe ihn auf eine lokale Variable, die dann klassenweit (und ggf. eben auch von außerhalb) genutzt werden kann ! !
Wo genau ist jetzt Dein Problem
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
hehe ich habe die variable nicht in der klasse selbst, sondern nur im konstruktor deklariert.
ich will die var nicht also public oderso vorher in der klasse deklarieren müssen....
-
17.11.09 16:24 #8
ok, das sehe ich dann hier nicht, da ist wohl schiefgelaufen .....
Du wirst den Wert aus dem Konstruktor schon an eine lokale VAR übergeben müssen, wenn Du sie in anderen Funktionen nutzen willst!
Das hängt mit dem Gültigkeitsbereich von VAR zusammen
Im Sinne der OO ist es ja eine Eigenschaft der Klasse (event. Getter und Setter kannst weglassen, wenn nur innerhalb der Klasse genutzt werden soll!
Wo ist denn dabei Dein Problem
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
ok, dumm gelaufen.
gibt es dann die möglichkeit innerhalb einer schleife in der main funktion deine variable zu deklarieren und definieren, die ich dann aber in der desamten main zur verfügung habe?
-
17.11.09 16:37 #10
also sowas ?
Code :1 2 3 4 5 6 7 8 9 10
CMeineKlasse::CMeineKlasse( int iValue ) { } // CMeineKlasse int CMeineKlasse::main( ... ); { int iLokaleVAR = iValue; // ... return 0; }
Nein, da iValue dann nur im Konstruktor gültig ist.
Deswegen ja der zuvor von mir beschriebene Umweg über eine Instanz-VAR! Das ist halt in der OOP so
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
nene ich miene jetz mal ohne klasse.
Code :1 2 3 4 5 6 7 8 9 10
void main () { if (1) { int bla = 50; } cout<< bla; }
sowas in der art. habs jetz nich sauber gemacht. ich möchte erst innerhalb der schleife eine variable erstellen, diese aber dann später nach der schleife verwenden können...
-
17.11.09 16:45 #12
njet, da bla nur im Scope der if-Schleife bekannt ist

Schau mal hier :
http://de.wikipedia.org/wiki/Variabl...grammierung%29
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
ach ok, dann muss ich mir was anderes überlegen
-
17.11.09 16:59 #14
gut so

und was spricht nun gegen die globalere Deklarierung ?
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
Ähnliche Themen
-
pre-Build Variablen erstellen
Von geist2008 im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 30.07.08, 16:51 -
Variablen mit ner Zähvariable generieren/erstellen
Von messmar im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 07.11.07, 14:28 -
PDF erstellen und Variablen ersetzen
Von Hammurabi im Forum PHPAntworten: 4Letzter Beitrag: 17.08.07, 09:48 -
Klasseninstanz erstellen und Variablen übergeben
Von NoGFX im Forum Flash PlattformAntworten: 2Letzter Beitrag: 26.04.07, 13:14 -
Konstruktor im Konstruktor aufrufen?
Von zarrandreas im Forum .NET ArchivAntworten: 1Letzter Beitrag: 03.06.05, 16:45





Zitieren

Login






