From f1d178366c849e197de3eba72602f7814bf6fadc Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Tue, 23 May 2023 15:38:05 +0000 Subject: [PATCH] init: ex00-02 --- .gitignore | 1 + ex00/Makefile | 25 +++++++++++++++++++++++++ ex00/bin/zombie | Bin 0 -> 103008 bytes ex00/src/Zombie.cpp | 19 +++++++++++++++++++ ex00/src/Zombie.hpp | 18 ++++++++++++++++++ ex00/src/main.cpp | 12 ++++++++++++ ex00/src/newZombie.cpp | 9 +++++++++ ex00/src/randomChump.cpp | 8 ++++++++ ex01/Makefile | 25 +++++++++++++++++++++++++ ex01/bin/zombie | Bin 0 -> 88240 bytes ex01/src/Zombie.cpp | 30 ++++++++++++++++++++++++++++++ ex01/src/Zombie.hpp | 18 ++++++++++++++++++ ex01/src/main.cpp | 13 +++++++++++++ ex01/src/zombieHorde.cpp | 15 +++++++++++++++ ex02/Makefile | 25 +++++++++++++++++++++++++ ex02/bin/ref_vs_ptr | Bin 0 -> 54472 bytes ex02/main.cpp | 0 ex02/src/main.cpp | 18 ++++++++++++++++++ 18 files changed, 236 insertions(+) create mode 100644 .gitignore create mode 100644 ex00/Makefile create mode 100755 ex00/bin/zombie create mode 100644 ex00/src/Zombie.cpp create mode 100644 ex00/src/Zombie.hpp create mode 100644 ex00/src/main.cpp create mode 100644 ex00/src/newZombie.cpp create mode 100644 ex00/src/randomChump.cpp create mode 100644 ex01/Makefile create mode 100755 ex01/bin/zombie create mode 100644 ex01/src/Zombie.cpp create mode 100644 ex01/src/Zombie.hpp create mode 100644 ex01/src/main.cpp create mode 100644 ex01/src/zombieHorde.cpp create mode 100644 ex02/Makefile create mode 100755 ex02/bin/ref_vs_ptr create mode 100644 ex02/main.cpp create mode 100644 ex02/src/main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5761abc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.o diff --git a/ex00/Makefile b/ex00/Makefile new file mode 100644 index 0000000..36bbf08 --- /dev/null +++ b/ex00/Makefile @@ -0,0 +1,25 @@ +CXX = c++ +CXXFLAGS = -std=c++98 -Wall -Wextra -Werror -g -O0 +SRCDIR = src +OBJDIR = obj +BINDIR = bin +EXECUTABLE = zombie + +SRCS = $(wildcard $(SRCDIR)/*.cpp) +OBJS = $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SRCS)) + +all: $(BINDIR)/$(EXECUTABLE) + +$(OBJDIR)/%.o: $(SRCDIR)/%.cpp + $(CXX) $(CXXFLAGS) -c $< -o $@ + +$(BINDIR)/$(EXECUTABLE): $(OBJS) + $(CXX) $(CXXFLAGS) $^ -o $@ + +clean: + rm -rf $(OBJDIR)/*.o + +fclean: clean + rm -fr $(BINDIR)/$(EXECUTABLE) + +re: fclean all diff --git a/ex00/bin/zombie b/ex00/bin/zombie new file mode 100755 index 0000000000000000000000000000000000000000..3e69cd73cba47bc6028d663bbad02617d7af249c GIT binary patch literal 103008 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 Z-(3fP{NiD={EvKG<^LC<28V8~{|obu#Y6xA literal 0 HcmV?d00001 diff --git a/ex00/src/Zombie.cpp b/ex00/src/Zombie.cpp new file mode 100644 index 0000000..4dd9e3d --- /dev/null +++ b/ex00/src/Zombie.cpp @@ -0,0 +1,19 @@ +#include "Zombie.hpp" +#include +#include + +Zombie::Zombie(std::string name) +{ + this->name = name; + std::cout << this->name << ": " << "Zombie()" << std::endl; +} + +Zombie::~Zombie() +{ + std::cout << this->name << ": " << "~Zombie()" << std::endl; +} + +void Zombie::announce() const +{ + std::cout << this->name << ": " << "BraiiiiiiinnnzzzZ..." << std::endl; +} diff --git a/ex00/src/Zombie.hpp b/ex00/src/Zombie.hpp new file mode 100644 index 0000000..b2e4507 --- /dev/null +++ b/ex00/src/Zombie.hpp @@ -0,0 +1,18 @@ +#include + +class Zombie { + + private: + std::string name; + + public: + Zombie(std::string name); + ~Zombie(); + + void announce(void) const; + void setName(std::string name); + +}; + +Zombie* newZombie(std::string name); +void randomChump(std::string name); diff --git a/ex00/src/main.cpp b/ex00/src/main.cpp new file mode 100644 index 0000000..d699665 --- /dev/null +++ b/ex00/src/main.cpp @@ -0,0 +1,12 @@ +#include "Zombie.hpp" + +int main() +{ + Zombie* jean; + Zombie pierre("Pierre"); + + jean = new Zombie("jean"); + jean->announce(); + delete jean; + randomChump("francois"); +} diff --git a/ex00/src/newZombie.cpp b/ex00/src/newZombie.cpp new file mode 100644 index 0000000..6e3845b --- /dev/null +++ b/ex00/src/newZombie.cpp @@ -0,0 +1,9 @@ +#include "Zombie.hpp" + +Zombie* newZombie(std::string name) +{ + Zombie* zombie; + + zombie = new Zombie(name); + return (zombie); +} diff --git a/ex00/src/randomChump.cpp b/ex00/src/randomChump.cpp new file mode 100644 index 0000000..58539de --- /dev/null +++ b/ex00/src/randomChump.cpp @@ -0,0 +1,8 @@ +#include "Zombie.hpp" + +void randomChump(std::string name) +{ + Zombie zombie(name); + + zombie.announce(); +} diff --git a/ex01/Makefile b/ex01/Makefile new file mode 100644 index 0000000..36bbf08 --- /dev/null +++ b/ex01/Makefile @@ -0,0 +1,25 @@ +CXX = c++ +CXXFLAGS = -std=c++98 -Wall -Wextra -Werror -g -O0 +SRCDIR = src +OBJDIR = obj +BINDIR = bin +EXECUTABLE = zombie + +SRCS = $(wildcard $(SRCDIR)/*.cpp) +OBJS = $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SRCS)) + +all: $(BINDIR)/$(EXECUTABLE) + +$(OBJDIR)/%.o: $(SRCDIR)/%.cpp + $(CXX) $(CXXFLAGS) -c $< -o $@ + +$(BINDIR)/$(EXECUTABLE): $(OBJS) + $(CXX) $(CXXFLAGS) $^ -o $@ + +clean: + rm -rf $(OBJDIR)/*.o + +fclean: clean + rm -fr $(BINDIR)/$(EXECUTABLE) + +re: fclean all diff --git a/ex01/bin/zombie b/ex01/bin/zombie new file mode 100755 index 0000000000000000000000000000000000000000..ffef4319068a73707294bfe8667800c1d719c152 GIT binary patch literal 88240 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

EGD&d|tMA0}!W8u{vu! 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 +#include + +Zombie::Zombie(std::string name) +{ + this->name = name; + std::cout << this->name << ": " << "Zombie()" << std::endl; +} + +Zombie::Zombie() +{ + this->name = ""; + std::cout << this->name << ": " << "Zombie()" << std::endl; +} + +Zombie::~Zombie() +{ + std::cout << this->name << ": " << "~Zombie()" << std::endl; +} + +void Zombie::announce() const +{ + std::cout << this->name << ": " << "BraiiiiiiinnnzzzZ..." << std::endl; +} + +void Zombie::setName(std::string name) +{ + this->name = name; +} diff --git a/ex01/src/Zombie.hpp b/ex01/src/Zombie.hpp new file mode 100644 index 0000000..90a0f38 --- /dev/null +++ b/ex01/src/Zombie.hpp @@ -0,0 +1,18 @@ +#include + +class Zombie { + + private: + std::string name; + + public: + Zombie(std::string name); + Zombie(); + ~Zombie(); + + void setName(std::string name); + void announce(void) const; + +}; + +Zombie* zombieHorde(int N, std::string name); diff --git a/ex01/src/main.cpp b/ex01/src/main.cpp new file mode 100644 index 0000000..164d1ca --- /dev/null +++ b/ex01/src/main.cpp @@ -0,0 +1,13 @@ +#include "Zombie.hpp" + +int main() +{ + Zombie* jean; + Zombie pierre("Pierre"); + + jean = new Zombie("jean"); + jean->announce(); + delete jean; + jean = zombieHorde(3, "jean"); + delete[] jean; +} diff --git a/ex01/src/zombieHorde.cpp b/ex01/src/zombieHorde.cpp new file mode 100644 index 0000000..0ff3544 --- /dev/null +++ b/ex01/src/zombieHorde.cpp @@ -0,0 +1,15 @@ +#include "Zombie.hpp" +#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++) + zombies[i].setName(name); + return (zombies); +} diff --git a/ex02/Makefile b/ex02/Makefile new file mode 100644 index 0000000..12bbcf9 --- /dev/null +++ b/ex02/Makefile @@ -0,0 +1,25 @@ +CXX = c++ +CXXFLAGS = -std=c++98 -Wall -Wextra -Werror -g -O0 +SRCDIR = src +OBJDIR = obj +BINDIR = bin +EXECUTABLE = ref_vs_ptr + +SRCS = $(wildcard $(SRCDIR)/*.cpp) +OBJS = $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SRCS)) + +all: $(BINDIR)/$(EXECUTABLE) + +$(OBJDIR)/%.o: $(SRCDIR)/%.cpp + $(CXX) $(CXXFLAGS) -c $< -o $@ + +$(BINDIR)/$(EXECUTABLE): $(OBJS) + $(CXX) $(CXXFLAGS) $^ -o $@ + +clean: + rm -rf $(OBJDIR)/*.o + +fclean: clean + rm -fr $(BINDIR)/$(EXECUTABLE) + +re: fclean all diff --git a/ex02/bin/ref_vs_ptr b/ex02/bin/ref_vs_ptr new file mode 100755 index 0000000000000000000000000000000000000000..462c2982a3c61c923571213b8fa1b3fcb43b8ba2 GIT binary patch literal 54472 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 F{{sWC6ixsD literal 0 HcmV?d00001 diff --git a/ex02/main.cpp b/ex02/main.cpp new file mode 100644 index 0000000..e69de29 diff --git a/ex02/src/main.cpp b/ex02/src/main.cpp new file mode 100644 index 0000000..8fd30e9 --- /dev/null +++ b/ex02/src/main.cpp @@ -0,0 +1,18 @@ +#include +#include +#include + +int main() +{ + std::string string = "HI THIS IS BRAIN"; + std::string* stringPTR = &string; + std::string& stringREF = string; + + std::cout << &string << std::endl; + std::cout << stringPTR << std::endl; + std::cout << &stringREF << std::endl; + + std::cout << string << std::endl; + std::cout << *stringPTR << std::endl; + std::cout << stringREF << std::endl; +}