override +, +=

main
Alexis Drai 2 years ago
parent 377c6ed751
commit a4b41d173e

@ -8,5 +8,13 @@ int main()
cout << Position(2, 5) << endl;
cout << Position(-1, 9) << endl;
cout << Position(0, 0) << endl;
cout << Position(0, 0) + Position(1, 6) << endl;
auto p1 = Position(8, 8);
auto p2 = Position(4, 1);
cout << p1 << endl;
p1 += p2;
cout << p1 << endl;
return 0;
}

@ -15,3 +15,16 @@ std::ostream &operator<<(ostream &os, const Position &pos)
os << "" << pos.m_x_pos << " ; " << pos.m_y_pos << "";
return os;
}
Position &Position::operator+=(const Position &rhs)
{
this->m_x_pos += rhs.m_x_pos;
this->m_y_pos += rhs.m_y_pos;
return *this;
}
Position operator+(Position lhs, const Position &rhs)
{
lhs += rhs;
return lhs;
}

@ -14,6 +14,8 @@ private:
int m_x_pos, m_y_pos;
public:
explicit Position(int x_pos, int y_pos);
Position& operator+=(const Position& rhs);
friend Position operator+(Position lhs, const Position& rhs);
friend std::ostream& operator<<(std::ostream& os, const Position& pos);
};

Loading…
Cancel
Save