I want to derive a class from a library for the handy powers of polymorphism. In this case, the parent class is [cv::Mat](https://docs.opencv.org/4.1.0/d3/d63/classcv_1_1Mat.html#details) from OpenCV 4.1

In my child class, let's call it SpecialMat, I want to add a simple property which can always be calculated during initialization, no matter which of the 26 constructors of cv::Mat are called. What I would *like* to do is something like the following:

```cpp
class SpecialMat : public cv::Mat
{
    private:
    float my_special_property;
    void thisFunctionAlwaysCalledAfterConstructor() {
        //some constant calculation we can always do at initialization
        my_special_property = this.known_property * this.other_known_property;
    }
};

```

Is there any way to do something like this without overloading all 26 constructors of cv::Mat? Is there perhaps a way to create a constructor like:

```cpp
SpecialMat(AnyArgs args) : Mat(args), my_special_property(/*calculation goes here*/) {}

```

Which would call any of the parent class's constructors?

Thanks for any suggestions!