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() {
// 實現(xiàn)類成員函數(shù)
}
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) {
// 實現(xiàn)類成員函數(shù)
}
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) {
// 實現(xiàn)靜態(tài)成員函數(shù)
}
通過上述方法,可以實現(xiàn)類模板的模板化設(shè)計,實現(xiàn)通用的類定義,提高代碼的復(fù)用性和靈活性。