template <typename T>class InterfaceT{public: InterfaceT(void) { } virtual ~InterfaceT(void) = 0 { } T t;};class InterfaceA{public: virtual ~InterfaceA(void) = 0 {} virtual void TestFun1(void) = 0; virtual void TestFun2(void) = 0;};#define TEST 1#if TEST == 1class...