正在阅读:经验分享:闲谈C++算法封装之穷举法经验分享:闲谈C++算法封装之穷举法

2004-03-26 10:05 出处:CSDN 作者:Kusk 责任编辑:linjixiong

    判断是否为可行状态的函数接口则很好定义了:它接受一个const State型引用作为待判断的状态,返回bool值,其中true表示该状态为可行状态,false表示该状态不是可行状态。

    我们将跳转函数以及判断函数的函数指针类型分别定义为StateJumper及Matcher,由于用户可能也会用到这些函数指针类型,我们将定义加到public域中:

  public:

    typedef bool (*StateJumper)(State&);

    typedef bool (*Matcher)(const State&);

  // others...

    并且,在private域中相应加上StateJumper和Matcher的函数指针变量,存储用户提供的相应函数的地址:

  private:

    // others...

    StateJumper Jumper;

    Matcher IsMatch;

    相应地,内联定义公有成员函数:

    void setJumper(const StateJumper j) { Jumper = j; }

    void setMatcher(const Matcher m) { IsMatch = m; }

    分别用于设置Jumper和IsMatch的函数指针值。

    现在所有的成员变量都已经浮出水面,我们可以定义构造函数和析够函数了,我们不打算对WalkThrough的创建与继承等方面作限制,因此它们都加在public域中。先看构造函数,有必要定义一个默认构造函数:

    WalkThrough(): overFlag(false), Jumper(0), IsMatch(0) { }


 

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品