From cfee0e2ec471c011ad93f17ab26628ad549877dc Mon Sep 17 00:00:00 2001 From: starnakin Date: Wed, 12 Jul 2023 02:45:13 +0200 Subject: [PATCH] recreation of ex01 --- ex01/Makefile | 16 ++++++++-------- ex01/bin/zombie | Bin 88240 -> 0 bytes ex01/src/Zombie.cpp | 40 ++++++++++++++++++++++++--------------- ex01/src/Zombie.hpp | 22 ++++++++++++--------- ex01/src/main.cpp | 18 ++++++++++-------- ex01/src/zombieHorde.cpp | 16 ++++++++-------- 6 files changed, 64 insertions(+), 48 deletions(-) delete mode 100755 ex01/bin/zombie diff --git a/ex01/Makefile b/ex01/Makefile index 36bbf08..e998f72 100644 --- a/ex01/Makefile +++ b/ex01/Makefile @@ -1,25 +1,25 @@ CXX = c++ -CXXFLAGS = -std=c++98 -Wall -Wextra -Werror -g -O0 +CPPFLAGS = -std=c++98 -Wall -Wextra -Werror -g SRCDIR = src OBJDIR = obj -BINDIR = bin -EXECUTABLE = zombie +NAME = ex01 SRCS = $(wildcard $(SRCDIR)/*.cpp) OBJS = $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SRCS)) -all: $(BINDIR)/$(EXECUTABLE) +all: $(NAME) $(OBJDIR)/%.o: $(SRCDIR)/%.cpp - $(CXX) $(CXXFLAGS) -c $< -o $@ + mkdir -p obj + $(CXX) $(CPPFLAGS) -c $< -o $@ -$(BINDIR)/$(EXECUTABLE): $(OBJS) - $(CXX) $(CXXFLAGS) $^ -o $@ +$(NAME): $(OBJS) + $(CXX) $(CPPFLAGS) $^ -o $@ clean: rm -rf $(OBJDIR)/*.o fclean: clean - rm -fr $(BINDIR)/$(EXECUTABLE) + rm -fr $(NAME) re: fclean all diff --git a/ex01/bin/zombie b/ex01/bin/zombie deleted file mode 100755 index ffef4319068a73707294bfe8667800c1d719c152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88240 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

EGD&d|tMA0}!W8u{vu! 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 +#include "./Zombie.hpp" #include - -Zombie::Zombie(std::string name) -{ - this->name = name; - std::cout << this->name << ": " << "Zombie()" << std::endl; -} +#include Zombie::Zombie() { - this->name = ""; - std::cout << this->name << ": " << "Zombie()" << std::endl; + std::cout << "Zombie()" << std::endl; +} + +Zombie::Zombie(const std::string& name) +{ + std::cout << "Zombie(" << name << ")" << std::endl; + this->_name = name; +} + +Zombie::Zombie(const Zombie& src) +{ + *this = src; } Zombie::~Zombie() { - std::cout << this->name << ": " << "~Zombie()" << std::endl; + std::cout << "~Zombie()" << std::endl; } -void Zombie::announce() const +Zombie& Zombie::operator=(const Zombie& src) { - std::cout << this->name << ": " << "BraiiiiiiinnnzzzZ..." << std::endl; + this->_name = src._name; + return *this; } -void Zombie::setName(std::string name) +void Zombie::announe() { - this->name = name; + std::cout << this->_name << ": BraiiiiiiinnnzzzZ..." << std::endl; +} + +void Zombie::setName(const std::string &name) +{ + this->_name = name; } diff --git a/ex01/src/Zombie.hpp b/ex01/src/Zombie.hpp index 90a0f38..3ca07cb 100644 --- a/ex01/src/Zombie.hpp +++ b/ex01/src/Zombie.hpp @@ -1,18 +1,22 @@ +#pragma once + #include -class Zombie { - +class Zombie +{ private: - std::string name; - - public: - Zombie(std::string name); + std::string _name; + + public: + Zombie(const Zombie& src); Zombie(); + Zombie(const std::string& name); ~Zombie(); - void setName(std::string name); - void announce(void) const; + Zombie& operator=(const Zombie& src); + void announe(void); + void setName(const std::string& name); }; -Zombie* zombieHorde(int N, std::string name); +Zombie* zombieHorde(int N, std::string name); diff --git a/ex01/src/main.cpp b/ex01/src/main.cpp index 164d1ca..e9563ee 100644 --- a/ex01/src/main.cpp +++ b/ex01/src/main.cpp @@ -1,13 +1,15 @@ #include "Zombie.hpp" -int main() +int main() { - Zombie* jean; - Zombie pierre("Pierre"); - - jean = new Zombie("jean"); - jean->announce(); - delete jean; - jean = zombieHorde(3, "jean"); + Zombie* jean = zombieHorde(2, "jean"); delete[] jean; + + Zombie* bob = zombieHorde(-1, "bob"); + if (bob == NULL) + return 1; + bob->announe(); + delete[] bob; + + return 0; } diff --git a/ex01/src/zombieHorde.cpp b/ex01/src/zombieHorde.cpp index 0ff3544..e795d29 100644 --- a/ex01/src/zombieHorde.cpp +++ b/ex01/src/zombieHorde.cpp @@ -1,15 +1,15 @@ #include "Zombie.hpp" -#include +#include Zombie* zombieHorde(int N, std::string name) { - size_t i; - Zombie *zombies; - if (0 > N) - return (NULL); - zombies = new Zombie[N]; - for (i = 0; i < (size_t) N; i++) + return NULL; + Zombie* zombies = new Zombie[N]; + for (int i = 0; i < N; i++) + { zombies[i].setName(name); - return (zombies); + zombies[i].announe(); + } + return zombies; }