虚函数
虚函数是 C++ 中实现动态多态的一种方式。通过在基类中定义虚函数,在派生类中重写虚函数,可以实现不同类型的对象调用不同的函数。虚函数需要通过指针或引用来调用,可以实现运行时的动态绑定。
抽象类和纯虚函数
抽象类是一种不能被实例化的类,其中至少有一个纯虚函数。纯虚函数是一种没有实现的虚函数,需要在派生类中实现。通过定义抽象类和纯虚函数,可以实现类的多态性。
函数指针
函数指针是一种指向函数的指针,可以根据指针指向的函数来调用不同的函数。函数指针可以作为函数的参数或返回值,可以实现通用的接口和多态性。
模板
模板是一种通用的代码实现方式,可以处理多种类型的数据。通过定义模板函数或模板类,可以实现通用的算法和数据结构,提高代码的复用性和可维护性。
CRTP(Curiously Recurring Template Pattern)
CRTP 是一种模板元编程技术,可以实现静态多态性。CRTP 通过在基类中使用派生类的类型作为模板参数,来实现静态多态性。CRTP 可以用于实现静态多态的算法和数据结构。
Lambda 表达式
Lambda 表达式是一种匿名函数,可以根据 Lambda 表达式的参数和返回值来调用不同的函数。Lambda 表达式可以作为函数的参数或返回值,可以实现通用的接口和多态性。