C++ 類模板允許你創(chuàng)建可處理多種數(shù)據(jù)類型的類。類模板的工作方式類似于宏,但更安全、更易于維護。要處理多種數(shù)據(jù)類型,你需要使用模板參數(shù)。模板參數(shù)在尖括號內(nèi)定義,可以是一個類型、一個值或者一個模板。
以下是一個簡單的 C++ 類模板示例,該模板用于計算給定類型的兩個值的和:
#include <iostream>
// 定義一個類模板 Sum
template <typename T>
class Sum {
public:
// 構(gòu)造函數(shù),接受兩個參數(shù)并存儲它們
Sum(T a, T b) : num1(a), num2(b) {}
// 成員函數(shù),計算并返回兩個數(shù)的和
T add() {
return num1 + num2;
}
private:
T num1, num2; // 使用模板參數(shù) T 定義成員變量
};
int main() {
// 使用整數(shù)類型實例化類模板
Sum<int> intSum(3, 5);
std::cout << "Integer sum: " << intSum.add() << std::endl;
// 使用浮點類型實例化類模板
Sum<float> floatSum(3.5f, 5.5f);
std::cout << "Float sum: " << floatSum.add() << std::endl;
return 0;
}
在這個示例中,我們定義了一個名為 Sum
的類模板,它接受一個類型參數(shù) T
。類模板有兩個成員變量(num1
和 num2
),它們的類型由模板參數(shù) T
決定。類模板還有一個成員函數(shù) add()
,用于計算兩個數(shù)的和。
在 main()
函數(shù)中,我們使用整數(shù)類型(int
)和浮點類型(float
)分別實例化了 Sum
類模板。然后我們調(diào)用 add()
函數(shù)來計算兩個數(shù)的和,并將結(jié)果輸出到控制臺。