template<typename T> class CBase : public T { public: CBase(); CBase(const T& src) : T(src); // - так конечно нельзя, а так: (static_cast<T&>(*this))(src) - ругается :(