c++之容器详解
5. 类模板编程 有时候继承、包含并不能满足重用代码的需要,这一般在容器类里面体现的尤为突出。例如: 我们定义了一个容器类,Container, 这个Container类可以实现类似verctor一样的工作,能保存数据,能修改数据,并且 数据的类型不限制 ,但是 针对数据的操作都是一样 的。那么类模板编程就成了不二之选了。 1. 定义模板类 这里以栈作为参照对象,定义一个模板类,实现栈一样的功能。 原始代码 class Stack{ private : enum{MAX = 10}; //表示这个Stack容器最多只能装10个。 int top =0 ; //表示最顶上的索引位置 string items[MAX]; //定义一个数组,以便一会装10个元素 public: bool isempty(){ return top == 0; } bool isfull(){ return top == MAX; } //压栈 int push(string val){ if(isfull()){ return -1; } //没有满就可以往里面存 items[top++] = val; } //出栈 string pop(){ if (isempty()){ return ""; } //如果不是空 top 只是指向位置,而数组获取数据,索引从0开始,所以先-- return