c++模板类
C++模板类是一种针对不同数据类型提供通用代码的类。类模板实际上是一种模板,我们可以使用它来定义一类通用的类,其中包含一个或多个类型参数,以表示可能包含多种不同类型的数据。
以下是一个简单的模板类的示例:
template class MyVector {private: T* data; int size;public: MyVector(int n) { data = new T[n]; size = n; } ~MyVector() { delete[] data; } void set(int i, T value) { data[i] = value; } T get(int i) { return data[i]; } int getSize() { return size; }};上面的代码展示了一个模板类 MyVector,它可以表示包含不同类型元素的向量。在类的定义中,我们使用关键字 template 和一个类型参数 T 来指示该类是一个模板类。这样定义后,我们就可以使用该类来创建不同类型的向量,如:
MyVector v1(10); // v1 是一个包含 10 个整数的向量MyVector v2(5); // v2 是一个包含 5 个 double 类型数据的向量在以上示例中,我们使用了 MyVector 和 MyVector 来实例化模板类。在创建类的实例时,我们需要将具体类型 (如 int 或 double ) 传递给模板类,以便将其用于实例化。
模板类的优势在于可以帮助我们编写通用代码,这样可以显著提高代码的重用性和开发效率。