// C++ 泛型编程示例代码
#include <iostream>
#include <vector>
// 定义一个模板函数,可以接受任意类型的参数
template <typename T>
T add(T a, T b) {
return a + b;
}
// 定义一个模板类,可以存储任意类型的元素
template <typename T>
class Container {
public:
// 添加元素到容器中
void addElement(const T& element) {
elements.push_back(element);
}
// 打印容器中的所有元素
void printElements() const {
for (const auto& elem : elements) {
std::cout << elem << " ";
}
std::cout << std::endl;
}
private:
std::vector<T> elements; // 使用标准库的 vector 来存储元素
};
int main() {
// 使用模板函数
std::cout << "Adding integers: " << add(5, 10) << std::endl;
std::cout << "Adding doubles: " << add(3.14, 2.86) << std::endl;
// 使用模板类
Container<int> intContainer;
intContainer.addElement(1);
intContainer.addElement(2);
intContainer.addElement(3);
std::cout << "Integer container elements: ";
intContainer.printElements();
Container<std::string> stringContainer;
stringContainer.addElement("Hello");
stringContainer.addElement("World");
std::cout << "String container elements: ";
stringContainer.printElements();
return 0;
}
模板函数 add
:这是一个泛型函数,可以接受任意类型的参数,并返回它们的和。通过使用 template <typename T>
,我们使得这个函数可以处理不同类型的数据(如整数、浮点数等)。
模板类 Container
:这是一个泛型类,可以存储任意类型的元素。通过使用 std::vector<T>
,我们可以动态地存储和管理这些元素。类中包含两个成员函数:addElement
用于添加元素,printElements
用于打印所有元素。
main
函数:展示了如何使用模板函数和模板类。我们分别创建了 int
类型和 std::string
类型的容器,并调用相应的成员函数来操作这些容器。
通过这种方式,C++ 的泛型编程允许我们编写更加通用和灵活的代码,减少了重复代码的编写。
上一篇:c++二叉树
下一篇:c++角谷猜想
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站