07/08/07 23:51:16 vUw1LN3Q
>>476
だから抽象基底クラスかインターフェース使えと。下のサンプルコードは C++ だが、Java でも
ほとんど変わらん。
#include <boost/foreach.hpp>
#include <boost/ptr_container/ptr_list.hpp>
struct ITask {
virtual ~ITask() {}
virtual void exec() = 0;
virtual void draw() const = 0;
};
class TaskManager {
public:
void exec() { BOOST_FOREACH(ITask& task, m_tasks) task.exec(); }
void draw() const { BOOST_FOREACH(ITask const& task, m_tasks) task.draw(); }
private:
boost::ptr_list<ITask> m_tasks;
};