【发布时间】:2019-02-15 23:20:33
【问题描述】:
假设我有以下课程:
class LearningMethod {
public:
virtual void optimize( lib4neuro::ErrorFunction &ef, std::ofstream* ofs = nullptr ) = 0;
virtual std::vector<double>* get_parameters( ) = 0;
};
现在我将从它继承并创建一个新类,其中optimize() 方法将接受ErrorFunctionDifferentiable 类型,该类型继承自ErrorFunction 本身。
class GradientLearningMethod : public LearningMethod {
virtual void optimize( lib4neuro::ErrorFunctionDifferentiable &ef, std::ofstream* ofs = nullptr ) = 0;
};
有没有正确的方法来实现这个?编译器认为,我正在创建一种新方法,而不是覆盖旧方法。
【问题讨论】:
标签: c++ oop inheritance