Please don't inherit from any class now. When cv::Algorithm changes is finished OpenCV guys will wrap your classes into cv::Algorithm inheritor. Now we can only try to predict how we should change the classes API and implementation to ease future conversion to cv::Algorithm (e.g. the same API of read/write as I suggested before).