我仍在努力掌握元编程,但却遇到了难题。
我想做的是创建一个类/结构体/其他,给它提供一个 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中是否仍然如此。
谢谢。