Website Summary Files Commits Branches @commit @diff @stats
path: root / DiamondProblemAndPolymorphism / Chess / Queen.hpp
diff options
context:
space:
mode:
Commite82491b4c5331dcd854a446df01a9c76c0e50369 (patch)
Author
 Angeld55 <achi_d@abv.bg>
2019-09-21 12:08:32 +0300
Committer
 GitHub <noreply@github.com>
2019-09-21 12:08:32 +0300
Files08b4e1e4cadc71eaa693c6cb9698b56f88a8ed95 /DiamondProblemAndPolymorphism/Chess/Queen.hpp
Object-oriented_programming_FMI-e82491b4c5331dcd854a446df01a9c76c0e50369.tar
Object-oriented_programming_FMI-e82491b4c5331dcd854a446df01a9c76c0e50369.tar.gz
Object-oriented_programming_FMI-e82491b4c5331dcd854a446df01a9c76c0e50369.zip
Parenta465139e88facd7cfca916e1c116382e88e2bb4b (diff)
Add files via upload
1 files changed, 22 insertions, 0 deletions
-rw-r--r--DiamondProblemAndPolymorphism/Chess/Queen.hpp22
diff --git a/DiamondProblemAndPolymorphism/Chess/Queen.hpp b/DiamondProblemAndPolymorphism/Chess/Queen.hpp
new file mode 100644
index 0000000..84ce90e
--- /dev/null
+++ b/DiamondProblemAndPolymorphism/Chess/Queen.hpp
@@ -0,0 +1,22 @@
+#include "Figure.hpp"
+
+class Queen : public Bishop, public Rook
+{
+public:
+ Queen(int xCoordinate, int yCoordinate, bool isWhite) :Figure(xCoordinate, yCoordinate, isWhite), Bishop(xCoordinate, yCoordinate, isWhite), Rook(xCoordinate, yCoordinate, isWhite)
+ {}
+ bool Move(int xNew, int yNew);
+ void Print();
+};
+
+void Queen::Print()
+{
+ cout << 'Q';
+}
+bool Queen::Move(int xNew, int yNew) // Тук сме наследили 2 функционалности. Имаме конфликт, трябва да дефинираме наша(използвайки предишните, ако искаме)
+{
+ bool res = Rook::Move(xNew, yNew);//Пробвай да се движиш като топ(по права линия)
+ if (res) //Ако е успял - вс е ок
+ return true;
+ return Bishop::Move(xNew, yNew); //Ако не си успял като топ, пробвай като офицер.
+} \ No newline at end of file