拷贝赋值函数
classvector
{
int sz;
double* elem;
void copy(constvector& arg);
public :
vector& operator=(constvector&a);
vector(constvector&arg);
vector(ints):sz(s),elem(newdouble[s])
{
for(int i=0;i<sz;i++){elem[i]=0;}
}
~vector(){delete[] elem;}
int size() const{return sz;}
double get(intn){return elem[n];}
void set(intn,doublev){elem[n]=v;}
};
voidvector::copy(constvector& arg)
{
for(int i=0;i<arg.sz;++i)
elem[i]=arg.elem[i];
}
vector::vector(constvector& arg):sz(arg.sz),elem(newdouble[arg.sz])
{
copy(arg);
}
vector& vector::operator=(constvector& a)
{
double* p=newdouble[a.sz];
for(int i=0;i<a.sz;++i)p[i]=a.elem[i];
delete[] elem;
elem=p;
sz=a.sz;
return *this;
}
拷贝赋值,也就是对“=”进行重写
(拷贝同一类型的对象)