Brauche Hilfe bei den Klassen - Class in C++ ! Verständnis Problem !



  • Hallo Freak_Coder

    jetzt mal im Ernst (ja und ich weiß,daß aus Spaß ganz schnell Ernst werden kann und der ist jetzt 3 Jahre):

    Hab ich das richtig verstanden ??? Stimmen meine Antworten ?

    Gruß Thiemo



  • Thiemo schrieb:

    ... aber hier bin ich doch nicht mehr in der Klasse, oder .... ?

    Doch mittendrinn du implementierst einen constructor der Klasse CKonto.
    Kurt



  • Hallo

    Wo sollen wir denn auf deine Fragen antworten? Es wäre cool, wenn du dich auf einen Thread festlegen könnstest. Also entweder C++ Forum oder MFC Forum. Wo bei es wohl eher zu C++ gehört.

    chrische



  • Hallo ZuK

    Dann kann ich also mit :

    CKonto::CKonto(unsigned int Kontonummer, double Kontostand, const string& Inhaber)

    von überall auf meine Klasse "CKonto" zugreifen ?

    Gruß
    Thiemo



  • i e



  • Hallo

    Du musst eine Instanz deiner Klasse erstellen:

    CKonto my_Konto(123,-500,"Thiemo");
    

    Dann kannst du mit my_Konto weiterarbeiten.

    chrische



  • Thiemo schrieb:

    Dann kann ich also mit :
    CKonto::CKonto(unsigned int Kontonummer, double Kontostand, const string& Inhaber)
    von überall auf meine Klasse "CKonto" zugreifen ?

    Nein du greifst nicht auf Klassen zu sondern du arbeitest mit Instanzen von Klassen.
    K



  • Hallo ZuK

    Wie kann man eine Instanz einer Klasse beschreiben ?

    Ist die Instanz eine Art Link ?



  • Hallo

    Eine Instanz erzeugt man genau so:

    CKonto my_Konto;
    

    Du musst die dabei deine Klasse als Variablentyp wie zum Beispiel int vorstellen.

    chrische



  • Welchen Programmteil meinst Du genau ?
    Ich kann "CKonto my_Konto;" in dem Programm nicht finden, welche Anweisung ersetzt es ?



  • Hallo

    in deinem "Programm" gibt es diese Zeile nicht, weil mit der Klasse nicht gearbeitet wird. wenn du aber die Funktionen dieser Klasse nutzen möchtest, musst du eine Instanz deiner Klasse erzeugen.

    chrische



  • Thiemo schrieb:

    Wie kann man eine Instanz einer Klasse beschreiben ?

    Vielleicht so
    Die Klasse ist der Bauplan die Instanz das Gebäude. ( Du kannst viele verschiedene Häuser mit einem Plan bauen.)
    Kurt



  • Das heißt...

    ich lege den "Bauplan" in meiner Klasse ab z.B. eine leere Tabelle bzw. eine reihenfolge einer Auflistung, die ich dann für mehrere Programmteile nutzen kann.



  • Thiemo schrieb:

    ich lege den "Bauplan" in meiner Klasse ab

    die klasse ist der bauplan.

    class Foo
    {
    public:
       int a;
       double b;
       void fun ();
    };
    

    ist der Bauplan für Objekte, die den Typ "Foo" haben. Jedes Objekt vom Typ "Foo" (=jede Instanz von Foo) hat einen integer namens a, der öffentlich zugänglich ist, einen double namens b, der öffentlich zugänglich ist und eine funktion fun, die keine argumente annimmt und nichts zurückgibt.

    Wenn du nach diesem Bauplan ein Objekt vom Typ "Foo" bauen willst, schreibst du:

    Foo ein_objekt;
    

    ein_objekt ist jetzt die Instanz, das konkrete Objekt, mit dem du arbeiten kannst.

    ein_objekt.a = 15;
    ein_objekt.b = 2.22;
    ein_objekt.fun();
    

    die elementfuntktion fun musst du allerdings erst noch definieren. das geht entweder inline in der klasse, oder z.b. so:

    void Foo::fun ()
    {
      cout << "hf\n";
    }
    


  • ja so wie in deinem Konto Beispiel. Du definierst welche Daten ( Kontostand, Kontonummer, Inhaber ) deine Klasse enthält. Und obendrein definierst du auch noch die Methoden mit denen diese Daten manipuliert werden können.( in deinem Beispiel KontenDatenAnzeigen() ).
    Natürlich braucht eine Konto Klasse noch ein Paar nützliche Methoden wie z.B
    void einzahlen( int betrag );
    void abheben( int betrag );
    usw.
    Kurt



  • DANKE !!!

    Ich werd jetzt mich ans rumspielen machen und Eure Tips versuchen umzusetzten.
    Meld mich am Wochenende wieder und sag Euch dann wie´s geklappt hat.


Anmelden zum Antworten