📄 simplelist.h
字号:
#pragma once
using namespace std;
template<typename T>
class SimpleList
{
public:
SimpleList(void);
SimpleList(SimpleList const &sl);
~SimpleList(void);
SimpleList operator=(SimpleList const &sl);
void push_back(T elem);
T pop_back(void);
T &operator[](int i);
T const &operator[](int i) const;
int length;
protected:
const static int MAX=20;
T data[MAX];
};
template<typename T>
SimpleList<T>::SimpleList(void):
length(0)
{}
//拷贝构造函数
template<typename T>
SimpleList<T>::SimpleList(SimpleList const &sl)
{
length=sl.length;
for(int i=0;i<length;i++)
data[i]=sl[i];
}
template<typename T>
SimpleList<T>::~SimpleList(void)
{}
//赋值操作
template<typename T>
SimpleList<T> SimpleList<T>::operator=(SimpleList const &sl)
{
length=sl.length;
for(int i=0;i<length;i++)
data[i]=sl[i];
return *this;
}
//压入list
template<typename T>
void SimpleList<T>::push_back(T elem)
{
data[length]=elem; //添加到尾部
++length; //长度加一
}
//弹出list
template<typename T>
T SimpleList<T>::pop_back()
{
T tmp=data[length-1]; //返回尾部的值
--length; //长度减一
return tmp;
}
//取索引操作
template<typename T>
T &SimpleList<T>::operator[](int i)
{
return data[i];
}
//取索引操作的常量版本
template<typename T>
T const &SimpleList<T>::operator[](int i) const
{
return data[i];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -