template <typename T>
class MyClass {
public:
MyClass(T value);
void doSomething();
private:
T m_value;
};
template <typename T>
MyClass<T>::MyClass(T value) {
m_value = value;
}
template <typename T>
void MyClass<T>::doSomething() {
// 实现类成员函数
}
MyClass<int> myIntObject(10);
myIntObject.doSomething();
MyClass<double> myDoubleObject(3.14);
myDoubleObject.doSomething();
template <typename T>
template <typename U>
void MyClass<T>::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<T>::staticFunction(U value) {
// 实现静态成员函数
}
通过上述方法,可以实现类模板的模板化设计,实现通用的类定义,提高代码的复用性和灵活性。