cc33a_demo-33CppPrimer_模板与泛型编程-16.01-基础知识
//##-两种模板 //*类模板。函数模板 //为什么要用类模板? //当调用Queue a时,它就只能增加int的数据,如果Queue q2,double时,得再写一个dobule的类。如果string,则再写一个string类 //用一个类模板,就可以把所有类型都包括了。很方便。
//##-泛型编程-独立于任何特定类型的方式进行编程。 //*主要用于容器,迭代器,算法->C++ STL标准模板库
//##-示例 //1.普通队列--q.h //2.c++中的泛型容器-vector,list,set... //3.顺序队列 //内部是数组--类模板 //4.链式队列 //内部是链表--类模板
#include //txwtech-cc33a_demo.cpp-33CppPrimer_模板与泛型编程-16.01-
#include "q.h"
//#include "q2.h"
#include
#include
#include
#include
using namespace std;
//##-两种模板
//*类模板。函数模板
//为什么要用类模板?
//当调用Queue a时,它就自能增加int的数据,如果Queue q2,double时,得再写一个dobule的类。如果string,则再写一个string类
//用一个类模板,就可以把所有类型都包括了。很方便。
//##-泛型编程-独立于任何特定类型的方式进行编程。
//*主要用于容器,迭代器,算法->C++ STL标准模板库
//##-示例
//1.普通队列--q.h
//2.c++中的泛型容器-vector,list,set...
//3.顺序队列 //内部是数组--类模板
//4.链式队列 //内部是链表--类模板
int main()
{
Queue a; //普通队列--q.h
//Queue a;
//Queue q2;
//Queue q3;
a.push(10);//普通队列--q.h
a.push(20);//普通队列--q.h
a.push(30);//普通队列--q.h
a.print();//普通队列--q.h
vector v1;
vector v2;
vector v3;
v1.push_back(10);
v1.push_back(20);
v2.push_back(1.2);
v2.push_back(9.8);
v3.push_back("hello");
v3.push_back("bill1");
list aa; //容器都采用的是类模板
list b;
aa.push_back(100);
aa.push_back(200);
b.push_back("dog");
b.push_back("cat");//都是泛型,用的类模板
getchar();
return 0;
}
q.h
#pragma once
#include //q.h头文件txwtech
#include
using namespace std;
//template //模板参数。T代表任一类型,就是泛型,随便取名,可以T1,TT...
class Queue //普通队列
{
struct Node
{
int a;
Node * next;
};
public:
Queue();
void push(int b);
void pop();
int getlength();
virtual void print();
private:
Node * head;
Node * rear;
};
//template
void Queue::push(int b)
{
Node *p1 = new Node;
p1->a = b;
p1->next = NULL;
rear->next = p1;
rear = p1;
head->a++;
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?