您的位置:首页 > 编程语言 > C语言/C++

C++泛型与模板

2016-08-02 11:27 309 查看

1. 两种模板:类模板、函数模板

2. 泛型编程:使用独立于任何特定类型的方式进行编程

3. 主要用于容器、迭代器、算法–>C++ STL标准模板库

4. 普通队列、C++中的泛型队列、顺序队列、链式队列

/*
自定义队列
*/
#include<iomanip>
#include<iostream>
using namespace std;

//类模板,T代表任意类型
template<class T>
class Queue{
struct Node{
T a;
Node *next;
};
public:
Queue(){
rear = head = new Node;
}
void push(T b){
Node *p = new Node;
p->a = b;
p->next = NULL;
rear->next = p;
rear = p;
cout << setw(2) << b << setw(2) << "进入队列" << endl;
}
void pop(){
Node *p = head->next;
cout << "" << setw(2) << p->a << setw(2) << "出队" << endl;
head->next = p->next;
delete p;
}
virtual void print(){
Node *p = head->next;
cout << "队列中的元素是:" << endl;
while (p){
cout << p->a << "->";
p = p->next;
}
}
private:
Node *head;
Node *rear;
};


#include<iostream>
#include<string>
#include"queue.cpp"
using namespace std;
int main(){
//使用时使用具体的类型,编程时不指定具体类型
Queue<int> q;
q.push(10);
q.push(20);
q.push(30);
q.print();

Queue<string>q1;
q1.push("hello");
q1.print();
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++