C ++方便地存储类变量

时间:2019-06-29 10:07:28

标签: c++ class

根据用户的选择,一个程序中有许多不同的OpenCV图像处理算法可以被创建和运行。 我正在尝试将它们统一为某种标准。因此,每个人都包裹在这样的类中:

class imageProcessor{
public:
    ProcessorParameter_t Param[PARAM_NR];
    imageProcessor();
    void Process(cv::Mat input,  cv::Mat *output);
};

“参数”变量(用户可修改,可加载,可保存)的存储方式如下:

enum ProcessorParams{   PARAM_MARKER_X, PARAM_MARKER_Y,
                        PARAM_NR};

struct ProcessorParameter_t{
    std::string Name;
    union Number{
        float f;
        double d;
        cv::Scalar s;
        bool b;
    };

主要目的是以后将任何变量列表传递给GUI,无论当前正在运行哪个imageProcessor及其包含的变量,都要无限制地保存和加载它们。

所以问题是,有什么传统的方法可以做这种事情,所以我不必重新发明轮子。

编辑:

所有imageProcessor类都是不同的,并且具有不同数量的变量。单个常见的事物是Process(...)

谢谢@Bapo

工会将由std::variant代替

0 个答案:

没有答案