class Concrete : public BaseT<Concrete> { friend class BaseT<Base>; ConcreteThread m_thread; /*implement*/ ..... };