diff --git a/cpp01/ex00/Zombie.cpp b/cpp01/ex00/Zombie.cpp index b461b45..58f3452 100644 --- a/cpp01/ex00/Zombie.cpp +++ b/cpp01/ex00/Zombie.cpp @@ -6,7 +6,24 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/06/08 16:30:20 by apommier #+# #+# */ -/* Updated: 2022/06/08 16:30:21 by apommier ### ########.fr */ +/* Updated: 2022/06/10 13:18:03 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ +#include "Zombie.hpp" + +Zombie::Zombie(std::string name) { + this->_name = name; + std::cout << "Zombie " << name << " created\n"; + return ; +} + +Zombie::~Zombie(void) { + std::cout << "Zombie " << this->_name << " destroyed\n"; + return ; +} + +void Zombie::announce(void) +{ + std::cout << this->_name << ": BraiiiiiiinnnzzzZ...\n"; +} diff --git a/cpp01/ex00/Zombie.hpp b/cpp01/ex00/Zombie.hpp index a2e5835..9086f0a 100644 --- a/cpp01/ex00/Zombie.hpp +++ b/cpp01/ex00/Zombie.hpp @@ -6,7 +6,26 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/06/08 16:30:22 by apommier #+# #+# */ -/* Updated: 2022/06/08 16:30:23 by apommier ### ########.fr */ +/* Updated: 2022/06/10 13:22:55 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ +# include +# include + +class Zombie { + + public: + + Zombie(std::string name); + ~Zombie(void); + void announce( void ); + + private: + + std::string _name; + +}; + +void randomChump(std::string name); +Zombie *newZombie(std::string name); diff --git a/cpp01/ex00/main.cpp b/cpp01/ex00/main.cpp index ef6089e..2ee85d8 100644 --- a/cpp01/ex00/main.cpp +++ b/cpp01/ex00/main.cpp @@ -6,7 +6,19 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/06/08 16:30:06 by apommier #+# #+# */ -/* Updated: 2022/06/08 16:42:56 by apommier ### ########.fr */ +/* Updated: 2022/06/10 13:20:28 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ +#include "Zombie.hpp" + +int main() +{ + std::cout << " --Zombie on the Heap--" << std::endl; + Zombie *heap = newZombie("Bob"); + heap->announce(); + delete heap; + std::cout << " --Zombie on the Stack--" << std::endl; + randomChump("John"); + return (0); +} \ No newline at end of file diff --git a/cpp01/ex00/newZombie.cpp b/cpp01/ex00/newZombie.cpp index 22d63c1..a258466 100644 --- a/cpp01/ex00/newZombie.cpp +++ b/cpp01/ex00/newZombie.cpp @@ -6,7 +6,17 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/06/08 16:30:16 by apommier #+# #+# */ -/* Updated: 2022/06/08 16:30:17 by apommier ### ########.fr */ +/* Updated: 2022/06/10 12:34:21 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ +#include "Zombie.hpp" + +Zombie *newZombie(std::string name) +{ + Zombie *newZombie; + + newZombie = new Zombie(name); + //newZombie->announce(); + return (newZombie); +} diff --git a/cpp01/ex00/randomChump.cpp b/cpp01/ex00/randomChump.cpp index 1a8dd2d..5b6b09e 100644 --- a/cpp01/ex00/randomChump.cpp +++ b/cpp01/ex00/randomChump.cpp @@ -6,7 +6,15 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/06/08 16:30:17 by apommier #+# #+# */ -/* Updated: 2022/06/08 16:30:18 by apommier ### ########.fr */ +/* Updated: 2022/06/10 12:41:50 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ +#include "Zombie.hpp" + +void randomChump(std::string name) +{ + Zombie newZombie(name); + + newZombie.announce(); +} \ No newline at end of file diff --git a/cpp01/ex01/Makefile b/cpp01/ex01/Makefile new file mode 100644 index 0000000..3805900 --- /dev/null +++ b/cpp01/ex01/Makefile @@ -0,0 +1,36 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: apommier +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2022/06/08 16:30:13 by apommier #+# #+# # +# Updated: 2022/06/10 13:49:47 by apommier ### ########.fr # +# # +# **************************************************************************** # + +NAME = a.out +SRCS = main.cpp\ + zombieHorde.cpp\ + Zombie.cpp + +OBJS = ${SRCS:.cpp=.o} +CC = c++ +CFLAGS = -Wall -Wextra -Werror +RM = rm -rf + +${NAME}: ${OBJS} + ${CC} ${LIB} ${OBJS} -o ${NAME} + +all: ${NAME} + +clean: + @${RM} ${OBJS} + +fclean: clean + @${RM} ${NAME} + +re: fclean all + +.PHONY: all clean fclean re \ No newline at end of file diff --git a/cpp01/ex01/Zombie.cpp b/cpp01/ex01/Zombie.cpp new file mode 100644 index 0000000..5f5e604 --- /dev/null +++ b/cpp01/ex01/Zombie.cpp @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* Zombie.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: apommier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/06/08 16:30:20 by apommier #+# #+# */ +/* Updated: 2022/06/10 13:55:13 by apommier ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "Zombie.hpp" + +Zombie::Zombie(void) +{ + std::cout << "Zombie created\n"; + return ; +} + +Zombie::~Zombie(void) +{ + std::cout << "Zombie " << this->_name << " destroyed\n"; + return ; +} + +void Zombie::announce(void) +{ + std::cout << this->_name << ": BraiiiiiiinnnzzzZ...\n"; +} + +void Zombie::setName(std::string name) +{ + this->_name = name; +} \ No newline at end of file diff --git a/cpp01/ex01/Zombie.hpp b/cpp01/ex01/Zombie.hpp new file mode 100644 index 0000000..fb0a133 --- /dev/null +++ b/cpp01/ex01/Zombie.hpp @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* Zombie.hpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: apommier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/06/08 16:30:22 by apommier #+# #+# */ +/* Updated: 2022/06/10 13:52:20 by apommier ### ########.fr */ +/* */ +/* ************************************************************************** */ + +# include +# include + +class Zombie { + + public: + + Zombie(void); + ~Zombie(void); + void announce( void ); + void setName(std::string name); + + private: + + std::string _name; + +}; + +void randomChump(std::string name); +Zombie *newZombie(std::string name); +Zombie *zombieHorde(int N, std::string name); \ No newline at end of file diff --git a/cpp01/ex01/main.cpp b/cpp01/ex01/main.cpp new file mode 100644 index 0000000..e661e37 --- /dev/null +++ b/cpp01/ex01/main.cpp @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: apommier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/06/08 16:30:06 by apommier #+# #+# */ +/* Updated: 2022/06/10 14:05:05 by apommier ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "Zombie.hpp" + +int main() +{ + Zombie *Horde; + int nbZombie = 10; + + std::cout << "--Zombie Horde--" << std::endl; + Horde = zombieHorde(nbZombie, "Bob"); + delete[] Horde; + return (0); +} \ No newline at end of file diff --git a/cpp01/ex01/zombieHorde.cpp b/cpp01/ex01/zombieHorde.cpp new file mode 100644 index 0000000..c2f2e01 --- /dev/null +++ b/cpp01/ex01/zombieHorde.cpp @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* zombieHorde.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: apommier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/06/10 13:44:22 by apommier #+# #+# */ +/* Updated: 2022/06/10 13:57:30 by apommier ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "Zombie.hpp" + +Zombie *zombieHorde(int N, std::string name) +{ + Zombie *Horde; + + Horde = new Zombie[N]; + while (N--) + { + Horde[N].setName(name); + //Horde[N].announce(); + } + return (Horde); +} \ No newline at end of file