拷贝赋值函数
class vector
{
    int sz;
    double * elem;
    void copy( const vector & arg);
 
public :
   
    vector & operator=( const vector &a);
     vector( const vector &arg);
    vector( int s ):sz( s ),elem( new double [ s ])
    {
        for ( int i=0;i<sz;i++){elem[i]=0;}
   
    }
    ~vector(){ delete [] elem;}
    int size() const { return sz;}
    double get( int n ){ return elem[ n ];}
    void set( int n , double v ){elem[ n ]= v ;}
 
};
void vector ::copy( const vector & arg )
{
for ( int i=0;i< arg .sz;++i)
    elem[i]= arg .elem[i];
}
vector ::vector( const vector & arg ):sz( arg .sz),elem( new double [ arg .sz])
{
           copy( arg );
       }
 
vector & vector ::operator=( const vector & a )
{
    double * p= new double [ a .sz];
    for ( int i=0;i< a .sz;++i)p[i]= a .elem[i];
    delete [] elem;
    elem=p;
    sz= a .sz;
    return * this ;
}
拷贝赋值,也就是对“ = ”进行重写

(拷贝同一类型的对象)