读书人

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

发布时间: 2013-02-24 17:58:56 作者: rapoo

请教下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)(); //函数指针

读书人网 >C++

热点推荐