Klassen



  • Nehmen zur zeit klassen durch & haben folgendes Problem:

    Mein Ansatz:
    #include <iostream.h>
    class Sparschwein
    {
    public:
    int leeren();
    int einwerfen();
    int print();

    private:
    int inhalt;
    };

    int Sparschwein::leeren()
    {
    inhalt = 0;
    }

    int Sparschwein::einwerfen()
    {
    return einwerfen;
    }

    int Sparschwein::print()
    {
    return print;

    }
    int main()
    {

    Sparschwein a, Sparschwein b, Sparschwein c;
    a.leeren();
    cout<<"Der Inhalt des Sparschwein beträgt "<<a.leeren()<<" Cent!\n";
    b.einwerfen(10);
    cout<<"Der Inhalt des Sparschweins beträgt "<<b.einwerfen()<<" Cent!\n";
    c.print(2,4,6);
    cout<<"Der inhalt des Sparschweins beträgt "<<c.print()<<" 1 Cent Münzen,"<<
    Emma.print()<<" 5 Cent Münzen und "<<c.print()<<" 10 Cent Münzen!!\n";
    return 0;
    }

    Meine Frage ist nun wie ich in c.print die zahlen 2,4,6, zuweisen kann dass 2-1cent, 4-5cent....!!Aufzählungsoperator "enum"?!?
    hoffe mir kann wer weiterhelfen!!



  • Hallo!

    Du kannst deiner Klasse Sparschwein Elemente zuweisen, zu jedem dieser Elemente kannst du dann eine Methode schreiben und so nach den einzelnen Münzen abfragen:

    #include <iostream.h>
    class Sparschwein
    {
        public:
            int leeren();
            int einwerfen();
            int printEinCent();
            int printZweiCent();
            int printFuenfCent();
            int printAlles();
    
        private:
            int Eincent, ZweiCent, FuenfCent; //......
            int Inhalt;
    };
    
    void Sparschwein::leeren()
    {
        Inhalt = 0; // Und alle anderen = 0
    }
    
    void Sparschwein::einwerfen(int Muenze)
    {
        // hier enum oder switch, dann jeweils muenzen hochzählen und inhalt neu
        // errechnen
    }
    
    oder
    
    void Sparschwein::einwerfen(int Einer, int Zweier, int Fuenfer.....)
    {
        // Jeweils zuweisen;
    }
    
    int Sparschwein::printAlles()
    {
        return Inhalt;
    
    }
    int Sparschwein::printFuenfCent()
    {
        return FuenfCent;
    
    }
    int Sparschwein::printZweiCent()
    {
        return ZweiCent;
    
    }
    int Sparschwein::printEinCent()
    {
        return EinCent;
    
    }
    int main()
    {
    
        Sparschwein a, b, c;
    
        a.leeren();
        cout<<"Der Inhalt des Sparschwein beträgt "<<a.leeren()<<" Cent!\n";
    
        b.einwerfen(10);
        cout<<"Der Inhalt des Sparschweins beträgt "<<b.einwerfen()<<" Cent!\n";
    
    // Bei ersten variante:
        cout<<"Der inhalt des Sparschweins beträgt "<<c.printEinCent()<<" 1 Cent Münzen,"<<
        c.printFuenf()<<" 5 Cent Münzen und "<<c.printZehner()<<" 10 Cent Münzen!!\n";
    // Bei zweiter Variante: musst du dir was zur Rückgabe einfallen lassen!
        return 0;
    }
    


  • Danke, hat mir grundsätzlich wirklich sehr geholfen & es läuft auch schon!!
    Würde es aber trotzdem gerne auch mit "enum" schaffen, nur weiß ich nicht genau wie ich das dann verwende und vor allem aufrufe - klammerung...!!

    hätte es so gemacht - funkt aber nicht:

    enum muenzen {1,5,10};

    muenzen(5);

    stimmt das grundsätzlich so oder wo liegt der fehler?!
    Danke im voraus!!!



  • Enums müssen gültige Bezeichner sein, zB

    enum muenzen
    {
        zwei = 1,
        vier = 5,
        sechs = 10
    };
    

Anmelden zum Antworten