静态多态

1、在C++中,使用函数重载(Function Overloading)来实现静态多态非常常见。参数列表不同。 2、使用模版完成静态多态 Curiously Recurring Template Pattern” (CRTP)

#include <iostream>

using namespace std;
template<class T>
class base
{
  public:
    void greet() {
      static_cast<T*>(this)->call();
    }
}
class child:public base<child>
{
  public:
    void call() {
      std::cout << "test" << std::endl;
    }
}
int main() {
  child p;
  p.greet();
}
Table of Contents