C++ 模板 与 泛型编程

本文介绍了C++模板和泛型编程的概念,通过一个队列类的例子展示了如何利用模板实现泛型编程。文章指出,模板是泛型编程的基础,能够使代码独立于特定类型,从而适用于多种数据类型。作者强调了泛型编程在容器、迭代器和算法中的应用,并预告将通过实战演示如何使用泛型编程构建顺序队列和链式队列。
摘要由CSDN通过智能技术生成

C++ 模板 与 泛型编程

前言

模板有两种:类模板和函数模板 。模板是泛型编程的基础。

什么叫:泛型编程?

使用独立于特定类型的方式进行编程。也就是我们在编程的时候不明确的写上类型,而是使用一个模板参数来代表某种类型。

所以泛型编程就需要使用模板。泛型编程这种编程方法,主要使用于:容器、迭代器、算法 。比如C++著名的标准模板库中都是使用模板和泛型编程。

并且数据结构和算法,都是大量的使用泛型编程的。所以本篇博客介绍如何使用C++进行泛型编程,来编写一个简单的队列类。下两篇博客,我们来一个实战:使用泛型编程的方法编写顺序队列 和 链式队列。


下面,我们写一个小例子,来介绍什么是泛型编程。

示例讲解

现在我们来做这样的一个例子:使用泛型编程做一个队列类。

我们先创建一个 queue.h 文件 和 一个main.cpp 文件。

先将下面的代码复制到 queue.h 文件里面。

#include<iostream>
#include <iomanip>

using namespace std;

//template<class T>


class Queue{

    struct Node{
        int a;
        Node * next;
    };
public:
    Queue();
    ~Queue();
    void push(int b);
    void pop();
    int getlength();
    virtual void print();

private:
    Node * head;
    Node * rear;
    int num;
};

void Queue::push(int b){
    Node *pl = new Node;
    pl->a = b;
    pl->next = NULL;
    rear->next = pl;
    rear = pl;
    num++;
    cout << setw(2) << b << setw(2) << " 进入队列 "</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值