class FunctionBase {
public:
const double operator() (double a_) const = 0;
}
class AddN : public FunctionBase {
public:
AddN (int n_) : FunctionBase(), _n(n_) {}
const double operator() (double a_) const { return (a_ + n); }
private:
int _n;
}
FunctionBase *由于编译器无法AddN从 a重建 a ,我是否必须用作占位符FunctionBase,还是有办法使用FunctionBase &?
- 编辑 -
我有一个std::map<std::string, FunctionBase *>,我很好奇我是否能够使用引用而不是指针,所以我可以保证在使用它之前指针不为 NULL。我正在尝试使代码更耐错误。如果我将它切换到 a FunctionBase &,编译器会抱怨它无法实例化AddN,FunctionBase &这是完全有意义的,但是我希望有一个我不知道的常见解决方法。