我仍在努力掌握元编程,但我很困惑。
我想做的是创建一个类/结构/任何东西,为它提供一个 std::tuple 并让它根据元组中的对象类型自动生成成员函数。目标是让类派生自MessageHandler
例如
typedef std::tuple< MessageA, MessageB, MessageC > MessageSet;
template< class T >
class MessageHandler
{
// some magic metaprogramming would "create"...
virtual void processMsg( const MessageA& ) = 0;
virtual void processMsg( const MessageB& ) = 0;
virtual void processMsg( const MessageC& ) = 0;
};
我读过你不能在模板中使用虚函数,但我不知道 C++11 是否仍然如此。
谢谢。