#include <iostream>
using namespace std;
template <typename T>
class stack
{
public:
int set(int i, T val)
{
if (i > 25 || i < 0)
{
return -1;
}
Arr[i] = val;
return 0;
}
int get(int i, T *res)
{
if (i > 25 || i < 0)
{
return -1;
}
*res = Arr[i]; // 返回指针
return 0;
}
T &operator[](int i)
{
return Arr[i]; // Arr是数组 std已经写好的方法,可以不用重载
}
private:
T Arr[25];
};
int main(int argc, const char *argv[])
{
int res;
float value1;
int value2;
double value3;
char value4;
stack<float> arr1;
arr1.set(0, 99.9);
arr1.get(0, &value1);
cout << value1 << endl;
stack<long int> myarr;
myarr[0] = 99999;
cout << myarr[0] << endl;
stack<int> arr2;
arr2.set(0, 99);
arr2.get(0, &value2);
cout << value2 << endl;
stack<double> arr3;
arr3.set(0, 8888888888888888.88888888);
arr3.get(0, &value3);
cout << value3 << endl;
stack<char> arr4;
arr4.set(0, 'a');
arr4.get(0, &value4);
cout << value4 << endl;
return 0;
}
C++ <template模板>
最新推荐文章于 2024-09-16 17:46:36 发布
本文介绍了C++中的模板类stack的使用,展示了如何创建不同类型的栈(如float,longint,int,double和char),并演示了set,get操作以及直接访问栈元素的方法。
摘要由CSDN通过智能技术生成