template <typename Object, typename Sequence> // set subtraction class SubtractMerger : public Merger<Object, Sequence> { protected: virtual void aIsLess(const Object& a, Sequence& C) { C.insertLast(a); } // add a virtual void bothEqual(const Object& a, const Object& b, Sequence& C) { } // ignore virtual void bIsLess(const Object& b, Sequence& C) { } // ignore public: SubtractMerger() { } };