C++類模板是一種強大的工具,可以幫助你編寫更加通用、可復用和易于維護的代碼。類模板允許你創建一個類,該類可以處理多種數據類型,而無需為每種數據類型編寫單獨的類定義。以下是一些使用C++類模板簡化代碼編寫的示例:
假設你需要編寫一個函數,該函數可以對不同類型的容器進行排序。你可以使用類模板來實現這個功能,而無需為每種容器類型編寫單獨的函數。
#include <iostream>
#include <vector>
#include <algorithm>
template <typename T>
void sortContainer(std::vector<T>& container) {
std::sort(container.begin(), container.end());
}
int main() {
std::vector<int> intVector = {3, 1, 4, 1, 5, 9};
std::vector<double> doubleVector = {3.14, 1.23, 4.56, 1.23, 5.67, 9.01};
sortContainer(intVector);
sortContainer(doubleVector);
for (const auto& elem : intVector) {
std::cout << elem << " ";
}
std::cout << std::endl;
for (const auto& elem : doubleVector) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
假設你需要編寫一個類,該類可以存儲一個值,并提供一些操作該值的方法。你可以使用類模板來消除代碼重復。
#include <iostream>
template <typename T>
class GenericValue {
public:
GenericValue(T value) : value_(value) {}
void printValue() const {
std::cout << "Value: " << value_ << std::endl;
}
T getValue() const {
return value_;
}
void setValue(T value) {
value_ = value;
}
private:
T value_;
};
int main() {
GenericValue<int> intValue(42);
intValue.printValue();
GenericValue<double> doubleValue(3.14);
doubleValue.printValue();
return 0;
}
總之,C++類模板可以幫助你編寫更加通用、可復用和易于維護的代碼。通過使用類模板,你可以消除代碼重復,提高代碼的可讀性和可擴展性。