类模板与函数模板非常相似,同样是先由你编写一个类的模板,再由编译器在你第一次使用这个模板时生成的实际代码。
实例:栈的出入栈
1 #include <iostream> 2 #include <string> 3 4 template <class T> 5 class Stack//栈类 6 { 7 public: 8 Stack(unsigned int size = 100);//构造器 9 ~Stack();//析构器 10 void push(T value);//入栈 11 T pop();//出栈 12 private: 13 unsigned int size; 14 unsigned int sp; 15 T *data; 16 }; 17 18 template <class T> 19 Stack<T>::Stack(unsigned int size) 20 { 21 this->size = size; 22 data = new T(size); 23 sp = 0; 24 } 25 template <class T> 26 Stack<T>::~Stack() 27 { 28 delete []data;//删除数组 29 } 30 31 template <class T> 32 void Stack<T>::push(T value) 33 { 34 data[sp++] = value; 35 } 36 37 template <class T> 38 T Stack<T>::pop() 39 { 40 return data[--sp]; 41 } 42 43 int main() 44 { 45 Stack<int> intStack(100);//定义对象 46 47 intStack.push(1);//将1推入栈 48 intStack.push(2);//将2推入栈 49 intStack.push(3);//将3推入栈 50 51 std::cout << intStack.pop() << "\n";//弹栈 52 std::cout << intStack.pop() << "\n";//弹栈 53 std::cout << intStack.pop() << "\n";//弹栈 54 }标签:第四十五,int,C++,template,data,Stack,模板,size From: https://www.cnblogs.com/ybqjymy/p/17640680.html