[CPP Module 01] ex01(객체 포인터 배열 할당)

main.cpp

#include "Zombie.hpp"

int	main(void)
{
	Zombie	*horde;

	horde = zombieHorde(5, "zombie");
	if (!horde)
		return (0);
	for (int i = 0; i < 5; i++)
		horde[i].announce();
	delete [] horde;
}

 

Zomebie.cpp

#include "Zombie.hpp"

Zombie::Zombie()
{
}

Zombie::Zombie(std::string name) : name(name)
{

}

Zombie::~Zombie()
{
	std::cout << this->name << " is dead" << std::endl;
}

void Zombie::announce(void)
{
	std::cout << this->name <<  " BraiiiiiiinnnzzzZ..." << std::endl;
}

void	Zombie::setName(std::string name)
{
	this->name = name;
}

 

객체 포인터 배열 할당을 해야되기 때문에 zomebieHorde를 만든다.

#include "Zombie.hpp"

Zombie* zombieHorde(int N, std::string name)
{
	if (N <= 0)
	{
		std::cout << "Please enter a positive value\\n";
		return (NULL);
	}
	Zombie* horde = new Zombie[N];

	for (int i = 0; i < N; i++)
	{
		std::cout << i;
		horde[i].setName(name); 
		std::cout << name << '\\n';
	}
	return (horde);
}

'외부 활동 및 교육 > 42Seoul' 카테고리의 다른 글

[CPP Module 01] ex03  (0) 2023.12.01
[CPP Module 01] ex02  (0) 2023.12.01
[CPP Module 01] ex00  (0) 2023.12.01
[CPP Module 00] ex01  (0) 2023.12.01
[CPP Module 00] ex00  (0) 2023.12.01