阅读量:139
C++类模板是一种强大的工具,可以帮助你编写更加通用、可复用和易于维护的代码。类模板允许你创建一个类,该类可以处理多种数据类型,而无需为每种数据类型编写单独的类定义。以下是一些使用C++类模板简化代码编写的示例:
- 泛型编程:
假设你需要编写一个函数,该函数可以对不同类型的容器进行排序。你可以使用类模板来实现这个功能,而无需为每种容器类型编写单独的函数。
#include
#include
#include
template <typename T>
void sortContainer(std::vector& 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 class="hljs-string">" ";
}
std::cout << std class="hljs-keyword">for (const auto& elem : doubleVector) {
std::cout << elem class="hljs-string">" ";
}
std::cout << std class="hljs-keyword">return 0;
}
- 减少代码重复:
假设你需要编写一个类,该类可以存储一个值,并提供一些操作该值的方法。你可以使用类模板来消除代码重复。
#include
template <typename T>
class GenericValue {
public:
GenericValue(T value) : value_(value) {}
void printValue() const {
std::cout << "Value: " << value class="hljs-function">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++类模板可以帮助你编写更加通用、可复用和易于维护的代码。通过使用类模板,你可以消除代码重复,提高代码的可读性和可扩展性。