반응형
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' 카테고리의 다른 글
ex05(함수 포인터 배열) (0) | 2023.12.02 |
---|---|
ex04 (0) | 2023.12.01 |
ex03 (0) | 2023.12.01 |
ex02 (0) | 2023.12.01 |
ex00 (0) | 2023.12.01 |