init: ex00-02
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
*.o
 | 
			
		||||
							
								
								
									
										25
									
								
								ex00/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								ex00/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								ex00/bin/zombie
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ex00/bin/zombie
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										19
									
								
								ex00/src/Zombie.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								ex00/src/Zombie.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
			
		||||
#include "Zombie.hpp"
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <iostream>
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								ex00/src/Zombie.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								ex00/src/Zombie.hpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
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);
 | 
			
		||||
							
								
								
									
										12
									
								
								ex00/src/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								ex00/src/main.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
#include "Zombie.hpp"
 | 
			
		||||
 | 
			
		||||
int	main()
 | 
			
		||||
{
 | 
			
		||||
	Zombie*	jean;
 | 
			
		||||
	Zombie	pierre("Pierre");
 | 
			
		||||
	
 | 
			
		||||
	jean = new Zombie("jean");
 | 
			
		||||
	jean->announce();
 | 
			
		||||
	delete jean;
 | 
			
		||||
	randomChump("francois");
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								ex00/src/newZombie.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								ex00/src/newZombie.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
#include "Zombie.hpp"
 | 
			
		||||
 | 
			
		||||
Zombie* newZombie(std::string name)
 | 
			
		||||
{
 | 
			
		||||
	Zombie* zombie;
 | 
			
		||||
 | 
			
		||||
	zombie = new Zombie(name);
 | 
			
		||||
	return (zombie);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8
									
								
								ex00/src/randomChump.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								ex00/src/randomChump.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
#include "Zombie.hpp"
 | 
			
		||||
 | 
			
		||||
void randomChump(std::string name)
 | 
			
		||||
{
 | 
			
		||||
	Zombie zombie(name);
 | 
			
		||||
 | 
			
		||||
	zombie.announce();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								ex01/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								ex01/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								ex01/bin/zombie
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ex01/bin/zombie
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										30
									
								
								ex01/src/Zombie.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								ex01/src/Zombie.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
			
		||||
#include "Zombie.hpp"
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <iostream>
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								ex01/src/Zombie.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								ex01/src/Zombie.hpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
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);
 | 
			
		||||
							
								
								
									
										13
									
								
								ex01/src/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								ex01/src/main.cpp
									
									
									
									
									
										Normal file
									
								
							@ -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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								ex01/src/zombieHorde.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								ex01/src/zombieHorde.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
#include "Zombie.hpp"
 | 
			
		||||
#include <cstddef>
 | 
			
		||||
 | 
			
		||||
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);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								ex02/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								ex02/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								ex02/bin/ref_vs_ptr
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ex02/bin/ref_vs_ptr
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										0
									
								
								ex02/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								ex02/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										18
									
								
								ex02/src/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								ex02/src/main.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
#include <ostream>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <iostream>
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user