C++ 是否可以在c+;中类的对象中添加整型值+;?

C++ 是否可以在c+;中类的对象中添加整型值+;?,c++,arrays,class,operator-overloading,C++,Arrays,Class,Operator Overloading,我想使用运算符重载或任何其他方法添加值。如果我有类abc该类有2个整数数组,我想像这样添加值(abc object;object=object+4;),如果我这样做,那么4将插入数组中 class abc{ int array1[10]; int array2[10]; public: abc(int a[],int b[]) { array1=a; array2=b; } }; int main() { int ar1[]={1,2,

我想使用运算符重载或任何其他方法添加值。如果我有
类abc
该类有2个整数数组,我想像这样添加值(abc object;object=object+4;),如果我这样做,那么4将插入数组中

class abc{
 int array1[10];
 int array2[10];
 public:
 abc(int a[],int b[])
 {
     array1=a;
     array2=b;
  }
  };
  int main()
  {  
     int ar1[]={1,2,3};
     int ar2[]={4,5,6};
     abc object(ar1,ar2);
     object =object+4;
    }
我想如果我写(object=object+4;),那么此行将在数组1的索引3处插入4,可能吗?

您可以这样做:

class abc
{
    std::vector<int> array1;
    std::vector<int> array1;
public:
    abc(std::vector<int> a, std::vector<int> b) :
        array1(std::move(a)), array2(std::move(b))
    {}

    abc& operator += (int n) { array1.push_back(n); array2.push_back(n); return *this;} 
};

int main()
{  
    abc object({1, 2, 3}, {4, 5, 6});
    object += 4;
}
abc类
{
std::向量阵列1;
std::向量阵列1;
公众:
abc(标准::向量a,标准::向量b):
数组1(std::move(a)),数组2(std::move(b))
{}
abc&运算符+=(int n){array1.push_back(n);array2.push_back(n);返回*this;}
};
int main()
{  
abc对象({1,2,3},{4,5,6});
对象+=4;
}

我相信有人会给出完整的答案,但是如果你用
std::vector
替换你的数组,问题就会解决。是的,这是可能的。首先,很难理解你的意思。您显示的代码是否编译?至少将
std::array
std::vector
用作类成员。如果坚持使用C样式数组,构造函数需要知道它们的大小。我想您应该从重载
操作符+=
开始,但为此您需要阅读一本书、手册等。事实上,看看
std::vector
有多简单。投票即将到来。注意按值传递参数的新方式,然后使用
std::move
。没有向量是可能的吗?如果没有向量,您必须跟踪大小(在您使构造函数无效的过程中,您已经没有了这一点)。