问题遇到的现象和发生背景
刚学习C++,对它的理解还停留在数据成员和成员函数,这里遇到运算符重载的填空题,解决不了
问题相关代码,请勿粘贴截图
#include <iostream>
#include <vector>
using namespace std;
class vec3 {
public:
vec3(int x=0, int y=0, int z=0)
{
v[0] = x;
v[1] = y;
v[2] = z;
}
int operator[]
{
return v[index];
}
vec3& operator+=(const vec3& rhs)
{
for (int i = 0; i < 3; ++i)
;
return *this
;
}
private:
int v[3];
};
vec3 operator+(const vec3& v1, const vec3& v2)
{
return
;
}
operator<<(ostream& out, const vec3& v)
{
out << '(' << v[0] << ' ' << v[1] << ' ' << v[2] << ')';
;
}
int main()
{
vec3 v1(1,2,3), v2(4,5,6);
vec3 v = v1 + v2;
v += v2;
cout << v << endl;
}
运行结果及报错内容
我的解答思路和尝试过的方法
还不太明白重载的原理
我想要达到的结果
希望能给出题目答案的同时,给出一些思路上的指导