struct Base {
virtual void f() = 0;
};
struct X : public Base { };
struct Y : public Base { };
struct Z : public Base { };
struct T : public Base { };
struct S : public X, public Y, public Z
#ifdef XXX
, public T
#endif
{
void f()
#ifdef XXX
{ }
#endif
;
};