阅读量:135
- 类模板的定义:在类的声明和定义中使用模板参数来定义类模板,如下所示:
template <typename T>
class MyClass {
public:
MyClass(T value);
void doSomething();
private:
T m_value;
};
template <typename T>
MyClass::MyClass(T value) {
m_value = value;
}
template <typename T>
void MyClass::doSomething() {
// 实现类成员函数
}
- 类模板的实例化:在使用类模板时,需要为模板参数提供具体的类型,如下所示:
MyClass<int> myIntObject(10);
myIntObject.doSomething();
MyClass<double> myDoubleObject(3.14);
myDoubleObject.doSomething();
- 类模板的成员函数模板:类模板中的成员函数也可以是模板,如下所示:
template <typename T>
template <typename U>
void MyClass::doSomething(U value) {
// 实现类成员函数
}
- 静态成员函数模板:类模板中的静态成员函数也可以是模板,如下所示:
template <typename T>
class MyClass {
public:
template <typename U>
static void staticFunction(U value);
};
template <typename T>
template <typename U>
void MyClass::staticFunction(U value) {
// 实现静态成员函数
}
通过上述方法,可以实现类模板的模板化设计,实现通用的类定义,提高代码的复用性和灵活性。