调试时出现报错[Error] no match for 'operator[]' (operand types are 'Vec' and 'int')


#include<iostream>
#include<vector>
using namespace std;
class Vec(){
    int size;
    int *p;
public:
    Vec(){int size=0;p=new int[4];    }
    Vec(int n,int c=0){
       p=new int[n];
       size=n;
       for(int i=0;i<=size;i++){
            p[i]=c;
       }
    }
    Vec(const Vec &a){
       int *q=new int[a.size];
       size=a.size;
       for(int i=0;i<=size;i++){
       q[i]=p[i];
    }}
    ~Vec(){    delete []p;}
    void print(){
        cout<<"(";
        for(int i=0;i<size;i++){
           cout<<p[i]<<",";    
        }
        cout<<p[size]<<")"<<endl;    
    }
    };
    int main()
{
 Vec v1(4);// 生成一个含四个分量的向量,即v1为(0, 0, 0, 0)
 v1[0] = 1;
 v1[1] = 2;
 v1[2] = 3;
 v1[3] = 4;        // 此时v1应为(1, 2, 3, 4)
 Vec v2(v1); // 此时v2应为(1, 2, 3, 4)
 v1.print();
 v2.print();
}

出现错误 34 [Error] no match for 'operator[]' (operand types are 'Vec' and 'int')