我目前正致力于一项任务,其中一个目标是能够写出来:
v1 = v2 + v3;
v1 = v2 + 7;
v1 = 7 + v3;
全部使用单个重载运算符+。 我得到了提示涉及铸造的提示。
如何将整数转换为使用该整数的对象来执行某些操作?
Verzameling operator+(const Verzameling& vl, const Verzameling& vr){
//I know this code is not functional. The inmportant part here is the
//arguments of the operator+ function
Verzameling verzameling;
return verzameling;
}
了解我想要发生的事情: 该项目的目标是创建一个实质上是一个列表的对象。 具有动态内存的数组。那部分完全有效。
虽然在对这些对象调用+运算符时,它需要返回这两个列表的并集。 什么东西写成: v1 = 2 + v3; 这意味着创建一个大小为1且内容为2的列表。 然后将新创建的列表和列表v3联合起来。
v1 = v2 + 7;
这里唯一的区别是,创建的大小为1和内容为7的列表将被附加到v2的列表中,而不是像上面那样插入。
对象的构造函数(int i)也接受一个int,但它的工作是创建一个大小为i的数组。当int传递给operator +时,它应该创建一个数组大小为1且该点中int值的对象。
这很容易做到3个单独的操作符+重载,但问题是用1来做。我很茫然。
非常感谢任何帮助。