C++類模板是一種強(qiáng)大的工具,可以幫助你編寫更加通用、可復(fù)用和易于維護(hù)的代碼。類模板允許你創(chuàng)建一個類,該類可以處理多種數(shù)據(jù)類型,而無需為每種數(shù)據(jù)類型編寫單獨(dú)的類定義。以下是一些使用C++類模板簡化代碼編寫的示例:
假設(shè)你需要編寫一個函數(shù),該函數(shù)可以對不同類型的容器進(jìn)行排序。你可以使用類模板來實(shí)現(xiàn)這個功能,而無需為每種容器類型編寫單獨(dú)的函數(shù)。
#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;
}
假設(shè)你需要編寫一個類,該類可以存儲一個值,并提供一些操作該值的方法。你可以使用類模板來消除代碼重復(fù)。
#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++類模板可以幫助你編寫更加通用、可復(fù)用和易于維護(hù)的代碼。通過使用類模板,你可以消除代碼重復(fù),提高代碼的可讀性和可擴(kuò)展性。