1#include <stdio.h>
 2#include <stdlib.h>
 3
 4template<typename Item>
 5class HIFState
 6{
 7public:
 8    virtual ~HIFState()
 9    {
10    }

11
12public:
13    Item m_evaValue;//目标函数值
14}
;
15
16template<typename State>
17class HIFComparator
18{
19public:
20    virtual bool Compare(const State& item1, const State& item2) = 0;
21}
;
22
23template<typename Item>
24class HIFStateComparator : public HIFComparator<HIFState<Item>*>
25{
26public:
27    typedef typename HIFState<Item>* State;
28    virtual bool Compare(const State& item1, const State& item2)
29    {
30        printf("HIFStateComparator->Compare\n");
31        return (item1->m_evaValue < item2->m_evaValue);
32    }

33}
;
34
35void main()
36{
37    HIFState<double>* pState1 = new HIFState<double>;
38    HIFState<double>* pState2 = new HIFState<double>;
39
40    HIFComparator<HIFState<double>*>* pStateComparator = new HIFStateComparator<double>;
41    pStateComparator->Compare(pState1, pState2);
42    //
43    delete pStateComparator;
44    system("pause");
45}
posted on 2011-05-31 16:59 yumiao 阅读(383) 评论(0)  编辑 收藏 引用 所属分类: STL

统计