Pizzarezept 2.0



  • // Pizza.cc (Pizza fuer halbes Blech) /////////////////////////
    
            #include "MassEinheiten.h"
            #include "ZeitEinheiten.h"
            #include "Gewuerze.h"
            #include "MilchProdukte.h"
            #include "Gemuese.h"
            #include "FleischProdukte.h"
            #include "GetreideProdukte.h"
            #include "KuechenGeraete.h"
            #include "Gemenge.h"
            #include "Dose.h"
            #include 
    
            // PizzaTeig //////////////////////////////////////////////////
    
            typedef Gemenge TeigMasse;
    
            class PizzaTeig : public TeigMasse
            {
              public:
                PizzaTeig();
            };
    
            PizzaTeig::PizzaTeig() : TeigMasse()
            {
              *this += Quark(Gramm(100))
                     + Milch(EssLoeffel(4))
                     + Mehl(Gramm(100))
                     + Oel(EssLoeffel(4))
                     + Salz(TeeLoeffel(0.5));
              verruehre();
    
              TeigMasse hilfsTeig;
              hilfsTeig += Mehl(Gramm(100))
                         + BackPulver(Gestrichener_TeeLoeffel(3));
              hilfsTeig.verruehre();
    
              *this += hilfsTeig;
              verknete();
    
              while (klebrig())
              {
                *this += Mehl(Gramm(10));
                verknete();
              }
            }
    
            // PizzaBelag /////////////////////////////////////////////////
    
            class PizzaBelag : public Set
            {
              public:
                PizzaBelag();
            };
    
            PizzaBelag::PizzaBelag() : Set()
            {
              Dose dieChampignons;
              Champignon einChampignon;
              for (float groesse = 0; groesse < EssLoeffel(3);
                   groesse += einChampignon.groesse())
              {
                einChampignon = dieChampignons.entnehme_eins();
                *this += einChampignon;
              }
    
              Zwiebel eineZwiebel;
              *this += eineZwiebel.schaele().schneide();
    
              for (int scheiben = 1; scheiben <= 6; scheiben++)
              {
                *this += Scheibe;
              }
    
              *this += Salz(TeeLoeffel(0.5))
                     + Pfeffer(TeeLoeffel(0.5))
                     + Oregano(TeeLoeffel(1));
            }
    
            // Pizza //////////////////////////////////////////////////////
    
            class Pizza : Backbares_Objekt
            {
              private:
    
                PizzaTeig derTeig;
                PizzaBelag derBelag;
                BackBlech dasBlech;
    
              public:
    
                Pizza(const PizzaTeig& einTeig, const BackBlech& einBlech);
    
                PizzaTeig teig() const { return derTeig; }
                PizzaBelag belag() const { return derBelag; }
                BackBlech blech() const { return dasBlech; }
    
                Pizza& belege_mit(const Set& belag)
                {
                  derBelag += belag;
                  return *this;
                }
    
            };
    
            Pizza::Pizza(const PizzaTeig& einTeig, const BackBlech& einBlech)
            : Backbares_Objekt(), derTeig(einTeig), derBelag(), dasBlech(einBlech)
            {
              derTeig.rolle_an();
              dasBlech.belege_mit(derTeig);
    
              Set grundBelag;
              grundBelag += Oel(EssLoeffel(2))
                          + Ketchup(EssLoeffel(4));
              belege_mit(grundBelag);
            }
    
            // main() /////////////////////////////////////////////////////
    
            int main()
            {
              PizzaTeig meinTeig;
              PizzaBelag meinBelag;
              BackOfen meinOfen;
              BackBlech meinBlech;
    
              meinBlech.fetten();
              Pizza meinePizza(meinTeig, meinBlech);
    
              meinePizza.belege_mit(meinBelag);
              meinOfen.backe(meinePizza, Minuten(25));
    
              for (int scheibletten = 1; scheibletten <= 2; scheibletten++)
              {
                ChesterScheiblette eineScheiblette;
                meinePizza.belege_mit(eineScheiblette);
              }
    
              meinOfen.backe(meinePizza, Minuten(5));
    
              return meinePizza.zustand() == Pizza::verbrannt ? -1 : 0;
            }
    
            // end of Pizza.cc ////////////////////////////////////////////
    


  • Aus welchem Pattern-Buch ist das?



  • Design 2.0 Patterns 2.0



  • 2.0 / 10.0


Anmelden zum Antworten