⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vector.h

📁 农夫过河问题的解决方法
💻 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 + -