📄 vector.h
字号:
#include<iostream.h>
template <class T> class vector
{
public:
vector(unsigned);
vector(unsigned,T);
vector(const vector<T> &);
virtual ~vector();
T & operator[](unsigned);
vector<T> & operator=(const vector<T> &);
friend ostream& operator<<(ostream & out,vector<T>&);
unsigned length()const;
unsigned setSize(unsigned);
unsigned setSize(unsigned,T);
private:
unsigned size;
T* data;
};
template <class T> vector<T>::vector(unsigned num):size(num)
{
data=new T[size];
}
template <class T> vector<T>::vector(unsigned num,T v):size(num)
{
data=new T[size];
for(unsigned i=0;i<size;i++)
data[i]=v;
}
template <class T> vector<T>::vector(const vector<T> &v)
{
size=v.size;
data=new double[size];
for(int i=0;i<size;i++)
data[i]=v.data[i];
}
template <class T> T& vector<T>::operator[](unsigned u)
{
return data[u];
}
template <class T> vector<T>::~vector()
{
delete[] data;
}
template <class T> vector<T> & vector<T>::operator=(const vector<T> &v)
{
if(this==&v)
return *this;
delete[] data;
size=v.size;
data=new double[size];
for(int i=0;i<size;i++)
data[i]=v.data[i];
return *this;
}
template <class T> ostream & operator<<(ostream & out,vector <T> &v)
{
for(unsigned i=0;i<v.size;i++)
out<<"["<<i<<"]="<<v.data[i]<<";";
cout<<endl;
return out;
}
template <class T> unsigned vector<T>::length()const
{
return size;
}
template <class T> unsigned vector<T>::setSize(unsigned u)
{
if(u!=size)
{
T*np=new T[u];
unsigned n=u<=size?u:size;
}
return size;
}
template <class T> unsigned vector<T>::setSize(unsigned u,T t)
{
if(u!=size)
{
size=u;
delete[] data;
data=new T[size];
}
for(int i=0;i<n;i++)
data[i]=t;
return size;
}
template<class T>vector<T>operator*(const vector<T> &a,const vector<T> &b)
{
T c;
c=a*b;
return c;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -