CPP03/ex02/src/FragTrap.cpp
2025-03-28 16:03:05 +01:00

47 lines
1002 B
C++

#include "FragTrap.hpp"
#include "ClapTrap.hpp"
#include <iostream>
FragTrap::FragTrap() : ClapTrap()
{
}
FragTrap::FragTrap(std::string name) : ClapTrap(name)
{
_hitpoints = 100;
_energy_points = 100;
_attack_damage = 30;
std::cout << "FragTrap:: " << _name << " has been created" << std::endl;
}
FragTrap::FragTrap(FragTrap const &src)
{
*this = src;
std::cout << "FragTrap:: " << _name << " has been created by copy constructor" << std::endl;
}
FragTrap::~FragTrap()
{
std::cout << "FragTrap:: " << _name << " has been destroyed" << std::endl;
}
FragTrap &FragTrap::operator=(FragTrap const &rhs)
{
if (this != &rhs)
{
_name = rhs._name;
_hitpoints = rhs._hitpoints;
_energy_points = rhs._energy_points;
_attack_damage = rhs._attack_damage;
}
std::cout << "FragTrap:: " << _name << " has been created by assignation operator" << std::endl;
return (*this);
}
void FragTrap::highFivesGuys(void)
{
std::cout << "FragTrap:: " << _name << " high fives guys!" << std::endl;
}