// #include // #include // #include #include #include using namespace std; enum class LineId { Temperature, Humidity, OverHeat }; #if 0 class Dataset{ public: Dataset(QString& configFile); // return headlines (Kennlinien) of known types from ST code QVector* HeadLine(enum class LineId); private: // Class members (m_, but don't like the '_' ) vector headline; vector mHeadLineTemperature; vector mHeadLineOverheat; vector mHeadLineHumidity; }; #endif #include #include // Forward declaration of a base class for polymorphic behavior class QVectorBase { public: virtual ~QVectorBase() = default; virtual void print() const = 0; }; // Template class to wrap a QVector and inherit from QVectorBase template class QVectorWrapper : public QVectorBase { public: QVector vec; QVectorWrapper() = default; explicit QVectorWrapper(const QVector& v) : vec(v) {} void print() const override { qDebug() << "Vector of" << sizeof(T) << "bytes:" << vec; } }; class Dataset{ public: Dataset(QString& configFile); QVectorBase *HeadLine(uint8_t LineId); private: QVector mHeadlineVector; };