我有一个 c++ 类,如下所示:
class some_class {
protected:
decide_later some_variable;
public:
void some_random_function();
};
void some_class::some_random_function() {
decide_later another_variable;
}
问题是在创建类的实例之前,我不知道 some_variable 将是什么变量类型。我想做的是如下所示:
some_class class_instance(std::string);
这将设置decision_later 使用std::string (或int,或double,或任何它被告知使用)。此外,如果我以后可以在作为该类成员的其他函数中使用 decision_later 作为变量类型,那就太好了。例如,在函数 some_random_function() 中。
我曾尝试使用 boost::any 来做到这一点,但它似乎只适用于数字类型。此外,我认为如果我可以实际设置实际变量类型会更有效。
这可能吗?