抽象类和模板都提供了函数的接口定义,两者的应用场景有什么区别呢? 抽象类 提供接口的定义形式,接口名,参数类型等。 子类继承重新实现接口,垂直扩展。 共享接口定义。 模板类 定义抽象的公共逻辑处理部分代码。 绑定类型模板实例化,水平扩展。 共享公共处理逻辑。 常用手段 重载(对模板函数) 偏特化(对模板类而言) 虚函数 参考: https://github.com/wuye9036/CppTemplateTutorial.git