首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问上C++中的method用法,多谢

2013-02-24 
请教下C++中的method用法,谢谢!请教下一下代码的定义是怎么回事,感觉像mutexLocker这样的定义,就是为了这

请教下C++中的method用法,谢谢!
请教下一下代码的定义是怎么回事,感觉像mutexLocker这样的定义,就是为了这个函数执行完,回收一些东西,可是有一些不明白的地方,请帮忙指点下,谢谢了!
(不明白的地方,红色已标出,谢谢!)

struct AwesomeEvent : public TimedEventQueue::Event {
    AwesomeEvent(
            AwesomePlayer *player,
            void (AwesomePlayer::*method)()) 
        : mPlayer(player),
          mMethod(method) {
    }

protected:
    virtual ~AwesomeEvent() {}

    virtual void fire(TimedEventQueue *queue, int64_t /* now_us */) {
        (mPlayer->*mMethod)();   ///这里的fire有什么作用
    }

private:
    AwesomePlayer *mPlayer;
    void (AwesomePlayer::*mMethod)();

    AwesomeEvent(const AwesomeEvent &);///这个是什么,为什么也没有函数体???
    AwesomeEvent &operator=(const AwesomeEvent &);///<---好像是重载"="但为什么没有函数体
};

[解决办法]
AwesomeEvent(const AwesomeEvent &);//禁用拷贝构造函数
AwesomeEvent &operator=(const AwesomeEvent &);//禁用=(赋值)
(mPlayer->*mMethod)(); //函数指针

热点排行
Bad Request.