From bac6161af836193add290a356a18c6088a655f44 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Wed, 16 Mar 2022 12:42:13 +0100 Subject: [PATCH] d04 ex02 dynamic_cast dans main pour ne pas avoir une metode pure brain dans animal au cas ou en correction... --- d04/ex02/Makefile | 2 +- d04/ex02/headers/Animal.hpp | 2 +- d04/ex02/headers/Cat.hpp | 2 +- d04/ex02/headers/Dog.hpp | 2 +- d04/ex02/main.cpp | 16 ++++++++-------- d04/ex02/pure | Bin 0 -> 34608 bytes d04/ex02/srcs/Cat.cpp | 2 ++ d04/ex02/srcs/Dog.cpp | 2 ++ 8 files changed, 16 insertions(+), 12 deletions(-) create mode 100755 d04/ex02/pure diff --git a/d04/ex02/Makefile b/d04/ex02/Makefile index 41d7f5a..f10adf4 100644 --- a/d04/ex02/Makefile +++ b/d04/ex02/Makefile @@ -13,7 +13,7 @@ ifeq "$(TYPE)" "c" CC = c EXT = c else ifeq "$(TYPE)" "cpp" - CC = clang++ + CC = c++ EXT = cpp endif diff --git a/d04/ex02/headers/Animal.hpp b/d04/ex02/headers/Animal.hpp index 8378a82..673dd6e 100644 --- a/d04/ex02/headers/Animal.hpp +++ b/d04/ex02/headers/Animal.hpp @@ -17,7 +17,7 @@ public: virtual void makeSound() const = 0; std::string getType() const; - virtual Brain * getBrain() const = 0; +// virtual Brain * getBrain() const = 0; protected: std::string type; diff --git a/d04/ex02/headers/Cat.hpp b/d04/ex02/headers/Cat.hpp index 1c69329..f4246c3 100644 --- a/d04/ex02/headers/Cat.hpp +++ b/d04/ex02/headers/Cat.hpp @@ -19,7 +19,7 @@ public: Cat( Cat const & src ); ~Cat(); Cat & operator=( Cat const & rhs ); - Cat & operator=( Animal const & rhs ); +// Cat & operator=( Animal const & rhs ); void makeSound() const; diff --git a/d04/ex02/headers/Dog.hpp b/d04/ex02/headers/Dog.hpp index 2fdc58d..b777369 100644 --- a/d04/ex02/headers/Dog.hpp +++ b/d04/ex02/headers/Dog.hpp @@ -17,7 +17,7 @@ public: Dog( Dog const & src ); ~Dog(); Dog & operator=( Dog const & rhs ); - Dog & operator=( Animal const & rhs ); +// Dog & operator=( Animal const & rhs ); void makeSound() const; Brain * getBrain() const; diff --git a/d04/ex02/main.cpp b/d04/ex02/main.cpp index e83576d..75d5414 100644 --- a/d04/ex02/main.cpp +++ b/d04/ex02/main.cpp @@ -18,25 +18,25 @@ int main() { std::cout << std::endl; std::cout << B_BLUE "cat i : " RESET; - i->getBrain()->printIdea(0); + dynamic_cast(i)->getBrain()->printIdea(0); std::cout << B_BLUE "cat j : " RESET; - j->getBrain()->printIdea(0); + dynamic_cast(j)->getBrain()->printIdea(0); std::cout << "\n" B_BLUE "*i = *j" RESET "\n"; - *i = *j; + *(dynamic_cast(i)) = *(dynamic_cast(j)); std::cout << B_BLUE "cat i : " RESET; - i->getBrain()->printIdea(0); + dynamic_cast(i)->getBrain()->printIdea(0); std::cout << B_BLUE "cat j : " RESET; - j->getBrain()->printIdea(0); + dynamic_cast(j)->getBrain()->printIdea(0); std::cout << "\n" B_BLUE "j->getBrain->putIdea(\"I am not a cat\")" RESET "\n"; - j->getBrain()->putIdea(0, "I am not a cat");; + dynamic_cast(j)->getBrain()->putIdea(0, "I am not a cat");; std::cout << B_BLUE "cat i : " RESET; - i->getBrain()->printIdea(0); + dynamic_cast(i)->getBrain()->printIdea(0); std::cout << B_BLUE "cat j : " RESET; - j->getBrain()->printIdea(0); + dynamic_cast(j)->getBrain()->printIdea(0); std::cout << std::endl; std::cout << B_BLUE "delete i" RESET "\n"; diff --git a/d04/ex02/pure b/d04/ex02/pure new file mode 100755 index 0000000000000000000000000000000000000000..964e580596398180e55a898407de900c337d0671 GIT binary patch literal 34608 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