tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
517
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    HackerNeo HackerNeo ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    27
    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
     

  2. #2
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    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ß
    Klaus
     
    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 !!

  3. #3
    HackerNeo HackerNeo ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    27
    Jein,

    ich will die Variablen im Konstruktor erstellen, sie aber auch dann in anderen Methoden der Klasse verwenden könnnen...
     

  4. #4
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    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ß
    Klaus
    Geä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 !!

  5. #5
    HackerNeo HackerNeo ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    27
    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...
     

  6. #6
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    ää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ß
    Klaus
     
    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 !!

  7. #7
    HackerNeo HackerNeo ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    27
    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....
     

  8. #8
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Zitat Zitat von HackerNeo Beitrag anzeigen
    hehe ich habe die variable nicht in der klasse selbst, sondern nur im konstruktor deklariert.
    ok, das sehe ich dann hier nicht, da ist wohl schiefgelaufen .....

    Zitat Zitat von HackerNeo Beitrag anzeigen
    ich will die var nicht also public oderso vorher in der klasse deklarieren müssen....
    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ß
    Klaus
     
    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 !!

  9. #9
    HackerNeo HackerNeo ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    27
    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?
     

  10. #10
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    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ß
    Klaus
     
    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 !!

  11. #11
    HackerNeo HackerNeo ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    27
    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...
     

  12. #12
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    njet, da bla nur im Scope der if-Schleife bekannt ist

    Schau mal hier :
    http://de.wikipedia.org/wiki/Variabl...grammierung%29

    Gruß
    Klaus
     
    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 !!

  13. #13
    HackerNeo HackerNeo ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    27
    ach ok, dann muss ich mir was anderes überlegen
     

  14. #14
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    gut so

    und was spricht nun gegen die globalere Deklarierung ?

    Gruß
    Klaus
     
    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 !!

Ähnliche Themen

  1. pre-Build Variablen erstellen
    Von geist2008 im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 30.07.08, 16:51
  2. Variablen mit ner Zähvariable generieren/erstellen
    Von messmar im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 07.11.07, 14:28
  3. PDF erstellen und Variablen ersetzen
    Von Hammurabi im Forum PHP
    Antworten: 4
    Letzter Beitrag: 17.08.07, 09:48
  4. Klasseninstanz erstellen und Variablen übergeben
    Von NoGFX im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 26.04.07, 13:14
  5. Konstruktor im Konstruktor aufrufen?
    Von zarrandreas im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 03.06.05, 16:45