In C++ kann man Interfaces (reine virtuelle Klassen) verwenden:
class IDataRepository {
public:
virtual bool save(const Data& data) = 0;
virtual bool load(Data& data) = 0;
};
class EEPROMRepository : public IDataRepository {
public:
bool save(const Data& data) override;
bool load(Data& data) override;
};