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