Klasse beschreiben



  • Hallo Leute. Da ich Anfänger in Sachen C++ bin, habe ich mir die Aufgabe gestellt, eine Klasse aus einem Tutorial von der Seite http://tutorial.schornboeck.net/inhalt.htm zu lesen und zu beschreiben. Ich würde gerne wissen, ob ich dabei was falsch gemacht habe.

    Originalklasse:

    #include<iostream>
        using namespace std;
    
        class Automat
        {
        private:
          int itemCount;
          int insertedMoney;
          int itemPrice;
    
        public:
          Automat(int, int);
    
          void throwIn(int);
          int getPrice();
          int moneyBack();
          bool pushButton();
          bool isEmpty();
        };
    
        int main()
        {
          Automat automat(3,3);
          automat.throwIn(10);
          automat.moneyBack();
    
          automat.throwIn(8);
          automat.pushButton();
    
          cin.get();
        }
    
        void Automat::throwIn(int money)
        {
          insertedMoney+=money;
        }
    
        int Automat::moneyBack()
        {
          int temp=insertedMoney;
          insertedMoney=0;
          return temp;
        }
    
        bool Automat::pushButton()
        {
          if(itemPrice>insertedMoney)
          {
            return false;
          }
          if(itemCount==0)
          {
            return false;
          }
          --itemCount;
          insertedMoney-=itemPrice;
          return true;
        }
    
        bool Automat::isEmpty()
        {
          return itemCount==0;
        }
    
        int Automat::getPrice()
        {
          return itemPrice;
        }
    
        Automat::Automat(int items, int price)
        {
          itemCount=items;
          insertedMoney=0;
          itemPrice=price;
        }
    

    Klasse von mir beschrieben:

    #include<iostream>
        using namespace std;
    
        class Automat
        {
        private:
          int itemCount;
          int insertedMoney;
          int itemPrice;
    
        public:
          Automat(int, int);
    
          void throwIn(int);
          int getPrice();
          int moneyBack();
          bool pushButton();
          bool isEmpty();
        };
    
        int main()
        {
          Automat automat(3,3); // 3 itemCount & 3 itemPrice
          automat.throwIn(10); // insertedMoney==10
          automat.moneyBack(); // Geld wird ausgegeben. insertedMoney wird auf 0 gestellt.
    
          automat.throwIn(8); // insertedMoney==8
    	  automat.pushButton(); // Wenn ein Spiel teurer ist, als die eingeworfene Geldmenge, passiert nichts. 
    							// Wenn die Anzahl an Spielen 0 beträgt, passiert nichts. 
    							// Sonst wird die Anzahl der verbliebenen Spiele im 1 dekrementiert und das eingeworfene Geld um die Kosten eines Spiels verringert. (Dieser Zweig ist wahr)
    	  cout << "Preis: " << automat.getPrice() << " Euro" << endl;
          cin.get();
        }
    
        void Automat::throwIn(int money)
        {
          insertedMoney+=money;
        }
    
        int Automat::moneyBack()
        {
          int temp=insertedMoney;
          insertedMoney=0;
          return temp;
        }
    
        bool Automat::pushButton()
        {
          if(itemPrice>insertedMoney)
          {
            return false;
          }
          if(itemCount==0)
          {
            return false;
          }
          --itemCount;
          insertedMoney-=itemPrice;
          return true;
        }
    
        bool Automat::isEmpty()
        {
          return itemCount==0;
        }
    
        int Automat::getPrice()
        {
          return itemPrice;
        }
    
    	Automat::Automat(int items, int price): insertedMoney(0)
        {
          itemCount=items;
          itemPrice=price;
        }
    


  • Es ist eigentlich alles richtig, wie du es in der main() beschrieben hast. Nun könntest du, wenn du meinst es verstanden zu haben, versuchen die Klasse nach zu schreiben, ohne nach zu schauen 😉

    mfg


Anmelden zum Antworten