没有参考书,任何人都可以CRTP用代码示例提供一个很好的解释吗?
我一直在玩模板和继承,但是在对基类执行强制转换时,使用带有模板参数的虚函数成员有一些奇怪之处.他们似乎使用"直接继承",但如果我稍后"推迟"继承,则不行.
一些代码来说明:
示例[1]
struct CastExBase
  {
  virtual void f() {}
  };
template<class RT>
struct CastExA : CastExBase
  {
  void f() {std::cout << "CastExA" << std::endl;}
  virtual void g() {std::cout << "g - A" << std::endl;}
  virtual RT h() {std::cout << "h - A" << std::endl;}
  };
struct CastExB
  {
  void execF() {std::cout << "CastExB" << std::endl;}
  void g() {std::cout << "g - B" << std::endl;}
  int h() {std::cout << "h - B" << std::endl;}
  };
struct CastExC :
    public CastExA<int>, …