【发布时间】:2021-01-15 09:05:21
【问题描述】:
我想使用运算符重载或任何其他方法来增加价值。如果我有 class 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;) 那么这行将在 array1 的索引 3 处插入 4,这可能吗?
【问题讨论】:
-
我相信有人会完全回答,但如果你用
std::vector<int>替换你的数组,问题就会消失。 -
很难理解你的意思。您显示的代码是否编译?至少使用
std::array或std::vector作为类成员。如果您坚持使用 C 样式数组,构造函数需要知道它们的大小。我想你应该从重载operator+=开始,但是为此你需要阅读一本书、手册等。
标签: c++ arrays class operator-overloading