途中で送信しちまった。

struct itest { virtual void test() = 0; }
class a : public itest { virtual void test() { printf("a"); } }
class b : public itest { virtual void test() { printf("b"); } }
class c : public itest { virtual void test() { printf("c"); } }