Consider a C++ template class (mixin class) that inherits from the same class declared on the template, i.e.,
template <class Model>
class Mixin : public Model {
...
}
The motivation is to reuse this Mixin
to extend methods for different Model
classes. For example, for a model class ModelOne
,
class ModelOne {
public:
ModelOne (int a, int b) { ... }
}
is 'dressed' up by the Mixin
class and further extended as
class Realization : public Mixin<ModelOne> {
...
}
How do I explicitly invoke - in Realization
class - the constructor of ModelOne
class? Different model class may have different constructor signature.