diff --git a/CMakeLists.txt b/CMakeLists.txt index 6303fd6..38870d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,4 +3,4 @@ project(labyrinth) set(CMAKE_CXX_STANDARD 17) -add_executable(labyrinth main.cpp position/Position.cpp position/Position.h) +add_executable(labyrinth main.cpp position/Position.cpp position/Position.h tile/Tile.cpp tile/Tile.h) diff --git a/position/Position.cpp b/position/Position.cpp index 18b2423..7b6b6f9 100644 --- a/position/Position.cpp +++ b/position/Position.cpp @@ -23,10 +23,10 @@ Position &Position::operator+=(const Position &rhs) return *this; } -Position operator+(Position lhs, const Position &rhs) +Position &Position::operator+(const Position &rhs) { - lhs += rhs; - return lhs; + *this += rhs; + return *this; } bool Position::operator==(const Position &rhs) const diff --git a/position/Position.h b/position/Position.h index eae35ec..3418cc6 100644 --- a/position/Position.h +++ b/position/Position.h @@ -25,7 +25,7 @@ public: Position &operator+=(const Position &rhs); - friend Position operator+(Position lhs, const Position &rhs); + Position &operator+(const Position &rhs); friend std::ostream &operator<<(std::ostream &os, const Position &pos); }; diff --git a/tile/Tile.cpp b/tile/Tile.cpp new file mode 100644 index 0000000..686ab5b --- /dev/null +++ b/tile/Tile.cpp @@ -0,0 +1,10 @@ +// +// Created by draia on 03/02/23. +// + +#include "Tile.h" + +const Position &Tile::pos() const +{ + return m_pos; +} diff --git a/tile/Tile.h b/tile/Tile.h new file mode 100644 index 0000000..1811524 --- /dev/null +++ b/tile/Tile.h @@ -0,0 +1,21 @@ +// +// Created by draia on 03/02/23. +// + +#ifndef LABYRINTH_TILE_H +#define LABYRINTH_TILE_H + + +#include "../position/Position.h" + +class Tile +{ +private: + Position m_pos; +public: + const Position &pos() const; + +}; + + +#endif //LABYRINTH_TILE_H