Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++泛型编程

作者:√学卟会掩饰   发布日期:2025-08-03   浏览:103

// 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;
}

解释说明:

  1. 模板函数 add:这是一个泛型函数,可以接受任意类型的参数,并返回它们的和。通过使用 template <typename T>,我们使得这个函数可以处理不同类型的数据(如整数、浮点数等)。

  2. 模板类 Container:这是一个泛型类,可以存储任意类型的元素。通过使用 std::vector<T>,我们可以动态地存储和管理这些元素。类中包含两个成员函数:addElement 用于添加元素,printElements 用于打印所有元素。

  3. main 函数:展示了如何使用模板函数和模板类。我们分别创建了 int 类型和 std::string 类型的容器,并调用相应的成员函数来操作这些容器。

通过这种方式,C++ 的泛型编程允许我们编写更加通用和灵活的代码,减少了重复代码的编写。

上一篇:c++二叉树

下一篇:c++角谷猜想

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++ orm框架

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

c++ vector 清空

c++ tcp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站