Wie implementiert man ein Abstract Factory Pattern in C oder C++?

In C++ nutzt man Interfaces (abstrakte Basisklassen) und Factory-Klassen, die konkrete Implementierungen erzeugen. Beispiel:

class ISensor {
public:
    virtual void read() = 0;
    virtual ~ISensor() {}
};

class TempSensor : public ISensor {
public:
    void read() override { /* Temperatur lesen */ }
};

class ISensorFactory {
public:
    virtual ISensor* createSensor() = 0;
    virtual ~ISensorFactory() {}
};

class ConcreteSensorFactory : public ISensorFactory {
public:
    ISensor* createSensor() override {
        return new TempSensor();
    }
};
com

Newsletter Anmeldung

Bleiben Sie informiert! Wir informieren Sie über alle neuen Beiträge (max. 1 Mail pro Woche – versprochen)