Abstrakte Klasse Funktionsaufruf (Strategy-Pattern)



  • Hi!

    Ich editier hier mal, geht doch so wie ichs mir gedacht habe, hab etwas anderes vergessen, was der Grund war, warum die Funktion dann nicht gerufen wurde.

    Wir sollen im Zuge meines Studiums eine etwas komplexere Software unter Einsatz von Design Patterns erstellen.
    Mein Frage bezieht sich nun auf die Strategy von der die konkreten Strategies abgeleitet werden sollen.

    Ich hätte mir vorgestellt, dass ich in der abstrakten Klasse eine Funktion setup einrichte, die protected Pointer auf Werte setzt, die für alle konkreten Strategien danach gleich sind.

    protected:
    Object1 * obj1_;
    Object2 * obj2_;
    public:
    void setup(Object1 * o1, Object2 * o2)
    {
      obj1_ = o1;
      obj2_ = o2;
    }
    
    virtual void other() = 0;
    

    Ich rufe also aus einer anderen Klasse (wo ich auch die Strategy setze) diese setup-Funktion auf, allerdings werden die Pointer nicht gesetzt, wie ich mir das vorstelle.

    void setup() const
    {
      strategy_->setup(o1_, o2_);
    }
    

Anmelden zum Antworten