class WalkKernel { public: virtual double Evaluate(const Walk &w0, const Walk &w1) const = 0; }; class WalkKernelSimple : public WalkKernel { public: void SetParameters(const NodeKernel &nodeKernel, const EdgeKernel &edgeKernel); double Evaluate(const Walk &w0, const Walk &w1) const; private: const NodeKernel *_nKernel; const EdgeKernel *_eKernel; };