#ifndef Function_H #define Function_H namespace functions { /** * This abstract class declares the Function interface. * Inherit from this class to provide functionality. */ class Function { public: /** * The destructor should be declared virtual in an interface class. */ virtual ~ Function () { } /** * Returns the function value at x. Implement this function in * a derived class to provide required functionality. */ virtual double evaluate (double x) = 0; }; } #endif // Function_H