向量重载,该如何实现


#include  <iostream>
using  namespace  std;
class  myCArray
{
private:
    int*  p_arr;
    int  size;
public:
    myCArray();  //缺省构造函数
    myCArray(int*  p_a,int  s);  //构造函数
    myCArray(const  myCArray  &r_other);//复制构造函数
    ~myCArray();//析构函数
    int  operator[](int  pos)  const;  //访问数组元素值的下标运算符重载函数    
    int&  operator[](int  pos);  //设置数组元素值的下标运算符重载函数

   void  print()  const;


void  myCArray::print()  const
    {
            for(int  i=0;i<this->size  ;i++)
                    cout<<this->p_arr[i]<<"    ";
            cout<<endl;

    }
int  main()
    {      int  a[5]={1,2,3,4,5},b[5]={1,1,1,1,1};
            myCArray  t1(a,5),t2(b,5),t3;
              t3=t1+t2;
              t3.print();
              t3=t1-t2;
              t3[4]=100;
              t3.print();
              return  0;
    }

补全代码