📄 list.h
字号:
// list.h: interface for the list class.
//
//////////////////////////////////////////////////////////////////////
#ifndef HEADFILE_ARRAY
#define HEADFILE_ARRAY
template <class T>
class array
{
protected:
int size;
T* data;
public:
array(int size);
array(const array<T>& arr);
virtual ~array();
int getSize(); // 获取链表长度
T& operator [](int index); // 下标操作
array<T>operator + (const array<T>& arr); // 加法
void print();
private:
void operator = (const array<T>& arr);
};
template <class T>
array<T>::array(int size)
{
array::size = size;
data = new T[size];
}
template <class T>
array<T>::array(const array<T>& arr)
{
size = arr.size;
data = new T[size];
memcpy(data, arr.data, sizeof(T) * size);
}
template <class T>
array<T>::~array()
{
if (data) delete [] data;
}
template <class T>
int array<T>::getSize()
{
return size;
}
template <class T>
T& array<T>::operator [](int index)
{
return data[index];
}
template <class T>
array<T> array<T>::operator + (const array<T>& arr)
{
array<T> newarr(size);
for (int i = 0; i < size; i++)
newarr.data[i] = this->data[i] + arr.data[i];
return newarr;
}
template <class T>
void array<T>::print()
{
for (int i = 0; i < size; i++)
cout << data[i] << "\t";
cout << endl;
}
#endif // !defined(HEADFILE_LIST)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -