variable aus einem anderen Objekt nutzen

Dieses Thema im Forum "C/C++" wurde erstellt von sim4000, 01.12.2006.

  1. #1 sim4000, 01.12.2006
    Zuletzt bearbeitet: 02.12.2006
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    variable aus einem anderer Klasse nutzen

    Nabend.

    Folgendes Problem:
    Ich hab 3 objekte. In dem zweiten hab ich eine Zahl in einen Integer gepackt. Nun brauche ich diesen Integer in dem dritten Objekt.
    Wie kann ich die Variable auf das dritte Objekt übertragen?

    Habs schon mit
    Code:
    objekt2::variable
    in dem dritten Objekt versucht. Das klappt aber nicht. Und googlen hat auch nichs gebracht.
    Wie funktioniert das?
    Mfg, sim4000.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. hwj

    hwj Doppel-As

    Dabei seit:
    23.06.2006
    Beiträge:
    131
    Zustimmungen:
    0
    Ort:
    Bei Buxtehude
    Ich glaube, da muß ein Beispiel her, sonst kapier ich nicht was Du möchtest ... 3 Objekte einer Klasse wohl nicht, also wohl 3 verschiedene Klassen, und davon Variablen ?

    Heiko
     
  4. brahma

    brahma Netzpirat

    Dabei seit:
    06.12.2005
    Beiträge:
    709
    Zustimmungen:
    0
    Ort:
    Münsterland
    Ich glaube Du möchtest eine Variable, bzw. deren Inhalt in 3 verschiedenen Funktionen nutzen oder?

    Dann wären Pointer die Lösung :D
     
  5. #4 daniel.h, 02.12.2006
    Zuletzt bearbeitet: 02.12.2006
    daniel.h

    daniel.h IT-ler

    Dabei seit:
    24.01.2004
    Beiträge:
    493
    Zustimmungen:
    0
    Ort:
    Deutschland / Sindelfingen
    Falls du mit Objekten Klassen meinst, kommt es darauf an welchen Sichtbereich du den Variablen gegeben hast.
    Code:
    class classname
     {
       public:
          int a;
       private:
          int b;
     };
    
    Auf a könntest du, wenn du eine Instanz der Klasse anlegst zugreifen.
    Code:
    classname foo;
    classname bar;
    foo.a=9; //funktioniert
    cout << foo.a << endl; //funktioniert
    bar.a = foo.a; // funktioniert
    foo.b; //fehler, denn b ist private
    
    Aber sowas sollte man IMHO mit set/get Funktionen lösen.
     
  6. #5 root1992, 02.12.2006
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    Er will sowas denke ich:
    Code:
    class a{
    int get();
    public:
    int sonstwas();
    };
    class b{
    int set();
    public:
    int auchwas();
    };
    
    int b::set(){
    get();
    }
    
     
  7. #6 sim4000, 02.12.2006
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Also. Noch mal von vorne:

    Ich habe drei Klassen (hatte ich gestern verwechselt).
    In der 2. hab ich eine int-variable vereinbart, die eine 5 endhält.
    Jetzt möchte ich diese Variable in die dritte klasse übergeben lassen. So dass ich sie hier weiter verwenden kann.
    Also den integer in der zweiten klasse in einen int in der dritten klasse übertragen.

    Wie klappt das?
    Mfg, sim4000.
     
  8. #7 daniel.h, 02.12.2006
    daniel.h

    daniel.h IT-ler

    Dabei seit:
    24.01.2004
    Beiträge:
    493
    Zustimmungen:
    0
    Ort:
    Deutschland / Sindelfingen
    Willst du nur den Wert übertragen oder den Integer selbst?
     
  9. #8 sim4000, 02.12.2006
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    den wert.
    Also den wert aus dem int in klasse 2 einfach in einen int in der aktuellen klasse übertragen.
     
  10. #9 daniel.h, 02.12.2006
    daniel.h

    daniel.h IT-ler

    Dabei seit:
    24.01.2004
    Beiträge:
    493
    Zustimmungen:
    0
    Ort:
    Deutschland / Sindelfingen
    ich versteh dein Problem nicht, ein Lösungsvorschlag ist bereits in meinem ersten Beitrag... ?(
     
  11. #10 sim4000, 02.12.2006
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Ok. jetzt hab ich das bei genauerem Betrachetn so einigermaßen verstanden.
    Nur noch eine Frage: was bedeutet classname foo; bzw classname bar; ?
    classname ist der classenname. aber was hat es mit foo und bar auf sich?
     
  12. #11 root1992, 03.12.2006
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    Das sind Variablennamen.


    Guck gerade MIB, toller Film.
     
  13. #12 daniel.h, 03.12.2006
    daniel.h

    daniel.h IT-ler

    Dabei seit:
    24.01.2004
    Beiträge:
    493
    Zustimmungen:
    0
    Ort:
    Deutschland / Sindelfingen
    foo und bar sind Instanzen der Klasse classname :)
     
  14. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  15. #13 sim4000, 03.12.2006
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Ok. Ich hab da jetzt gestern den ganzen abend daran gesessen, und hab es immer noch nicht hinbekommen. Hab auch voll allen möglichen Quellen Vorschläge getestet. Bekomme es trotzdem nicht hin. So langsan reichts mir aber. (Und euch bestimmt auch.)

    Ich hab das jetzt so gemacht:
    Code:
    dtyp foo; //dtyp=2Klasse
    dtyp bar;
    bar.menge = anzahl; // Menge ist der int in der 2.Klasse dtyp // anzahl ist der int in der aktellen Klasse 3
    Das hab ich in eine Methode gepackt, und aufgerufen. Aber er macht das nicht. Was mach ich nur falsch?
    Mfg, sim4000.
     
  16. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Wenn Du einen privaten Datentyp aus einer Klasse auslesen moechtest, solltest Du eine entsprechende Funktion bereitstellen. Das war hier mit dem Erwaehnen der get/set Funktionen gemeint.
    Code:
    class KlasseA {
       int a;
    public:
       Klasse A (int m): a(m) {}
       int get_a() const { return a; }
       int& set_a() const { return a; }
    };
    
    int main(){
        A aa(4);
    
        std::cout << aa.get_a() << '\n';
    
        aa.set_a() = 5;
        std::cout << aa.get_a() << '\n';
    
        return 0;
    }
    
    
    Der Gebrauch der 'set_a' Funktion mag gewoehnungsbeduerftig sein, ist jedoch praktischer als in
    Code:
      void set_a(int m) { a = m; }
    
    In Deinem Beispiel weiss der Compiler ja auch gar nicht, auf welches 'anzahl' Du zugreifen willst, da Du ja mehrere Instanzen der Klasse3 haben koenntest, und jede ihre eigene Kopie von 'anzahl' hat.
     
Thema:

variable aus einem anderen Objekt nutzen

Die Seite wird geladen...

variable aus einem anderen Objekt nutzen - Ähnliche Themen

  1. variable von einem script zum nächsten übergeben

    variable von einem script zum nächsten übergeben: ich versuche gerade ein script zu basteln dass mehrere unterscripte anschmeisst. dabei wollte ich aber im ersten script alle variablen...
  2. variable in einem script auf Gültigkeit als Dateinamen testen

    variable in einem script auf Gültigkeit als Dateinamen testen: Hallo, da ich in meinem Script ein Argument als Teil des Namens für die Ausgabedatei verwende, bekomme ich gerne mal (weil ich die...
  3. Linux 4.5 will UEFI-Variablen besser schützen

    Linux 4.5 will UEFI-Variablen besser schützen: Das Löschen bestimmter UEFI-Variablen kann manche Rechner nicht mehr startbar machen. Das kommende Linux 4.5 ergreift Maßnahmen dagegen, die im...
  4. Wie komme ich an den Inhalt des Inhalts einer Variable?

    Wie komme ich an den Inhalt des Inhalts einer Variable?: Hallo Zusammen, ich möchte meine Buildumgebung vereinfachen und besser zu automatisieren. Ein Skript schreibt Pfade in die env und diese...
  5. Textdatei zeilenweise in durchnummerierte Variablen schreiben

    Textdatei zeilenweise in durchnummerierte Variablen schreiben: Hi Leute, ich versuche folgendes Problem zu lösen. Ich möchte eine Textdatei einlesen und den Inhalt jeder Zeile in immer eine neue Variable...