• C++类模板是一种通用的编程工具,可以创建可以适用于多种数据类型的类


    C++类模板是一种通用的编程工具,可以创建可以适用于多种数据类型的类。它们允许在类定义中使用参数,以便根据需要实例化具体的类。
    
    使用C++类模板时,首先需要定义模板。模板定义的语法如下:
    
    ```cpp
    template <typename T>
    class MyClass {
        // 类成员和方法的定义
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    其中,typename T模板参数,它可以是任何类型。在类定义中,可以使用 T 来代表该类型。

    接下来,我们可以使用模板来实例化具体的类对象。例如,如果我们想创建一个可以存储整数的类对象,可以这样做:

    MyClass<int> obj1;
    
    • 1

    这样,obj1 就是一个用整数类型实例化的 MyClass 对象。

    对于类模板中的方法定义,可以在类内部进行定义,也可以在类外部进行定义。如果选择在类外部定义方法,可以使用 template 来指明该方法属于类模板。

    下面是一个示例,演示了类模板的使用:

    template<typename T>
    class MyStack {
    private:
        T* stack;
        int size;
    public:
        MyStack() {
            size = 0;
            stack = new T[100];
        }
    
        void push(T element) {
            stack[size++] = element;
        }
    
        T pop() {
            return stack[--size];
        }
    };
    
    int main() {
        MyStack<int> stack;
        stack.push(1);
        stack.push(2);
        stack.push(3);
    
        int val = stack.pop();
        cout << val << endl;  // 输出3
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    在上面的示例中,我们定义了一个 MyStack 类模板,用于创建可以存储任意类型数据的栈。然后,在 main 函数中,我们使用 MyStack 实例化了一个存储整数的栈对象,并进行了一些操作。

    希望这个例子能帮助你理解C++类模板的使用。如果还有其他问题,请随时提问!

  • 相关阅读:
    js 正则校验输入是否为空字符串
    cmd运行jar包,txt文件中文乱码问题
    实现Kickstart + NFS + DHCP + PXE的全自动远程无人职守安装
    子进程变成僵尸进程
    elementui el-tree回显多个节点高亮
    linux驱动开发:驱动中的并发控制
    二叉树习题-小记
    DSPE-PEG-NH2,DSPE-PEG-amine,474922-26-4,磷脂-聚乙二醇-氨基科研试剂
    如何应对AI发展下的伦理挑战
    K8S部署
  • 原文地址:https://blog.csdn.net/m0_46376834/article/details/132804348