#include "imports_a.h" class B : public A_Intermediate { public: B() {}; void bye() {} ; virtual MemberEnum member_virtual_test(MemberEnum e) { return memberenum2; } virtual GlobalEnum global_virtual_test(GlobalEnum e) { return globalenum2; } }; A::MemberEnum global_test(A::MemberEnum e) { return e; } struct C : A { typedef A a_type; A* get_a(A* a) { return a; } a_type* get_a_type(a_type* a) { return a; } };