時,我有一個小包裝,其集中有什麼相對於螺紋:「稱爲純虛方法」實現一個boost ::線程封裝接口
class Thread {
protected:
boost::thread *m_thread;
virtual void work() = 0;
void do_work() {
work();
}
public:
Thread() : m_thread(NULL) {}
virtual ~Thread() {
catch_up();
delete m_thread;
}
inline void catch_up() {
if(m_thread != NULL) {
m_thread->join();
}
}
void run() {
m_thread = new boost::thread(boost::bind(&Thread::do_work, boost::ref(*this)));
}
};
當我實現它,說有以下幾點:
class A : public Thread {
void work() {}
};
在:
A a; a.run();
我買了一個漂亮的運行時終止「純虛方法被稱爲」顯示終端ayed。我認爲這是boost :: bind參數,但我不知道怎麼說「使用虛擬純實現」...
先謝謝了。
問候,
先生空軍終於
嗯,那很簡單...謝謝你,你明確表示了。但是現在我遇到了一個更大的問題(顯然是隨機布爾)......我認爲調試起來會更困難。我只是不應該在這裏使用我的「小丑」,否則我會覺得有需要^^' – 2010-07-01 22:50:00