/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* DiamondTrap.cpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: bchanot +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/18 14:57:48 by bchanot #+# #+# */ /* Updated: 2025/12/18 15:40:14 by bchanot ### ########.fr */ /* */ /* ************************************************************************** */ #include "DiamondTrap.hpp" /* ** ------------------------------- CONSTRUCTOR -------------------------------- */ DiamondTrap::DiamondTrap() : ClapTrap("Default_clap_name"), ScavTrap(), FragTrap(), _name("Default") { this->_hitPoints = FragTrap::_hitPoints; this->_energyPoints = ScavTrap::_energyPoints; this->_attackDamage = FragTrap::_attackDamage; std::cout << "DiamondTrap " << this->_name << " has been created" << std::endl; } DiamondTrap::DiamondTrap( std::string const & name ) : ClapTrap(name + "_clap_name"), ScavTrap(name), FragTrap(name), _name(name) { this->_hitPoints = FragTrap::_hitPoints; this->_energyPoints = ScavTrap::_energyPoints; this->_attackDamage = FragTrap::_attackDamage; std::cout << "DiamondTrap " << this->_name << " has been created" << std::endl; } DiamondTrap::DiamondTrap( DiamondTrap const & src ) : ClapTrap(src), ScavTrap(src), FragTrap(src) { std::cout << "Copy of DiamondTrap " << this->_name << " has been created" << std::endl; } /* ** -------------------------------- DESTRUCTOR -------------------------------- */ DiamondTrap::~DiamondTrap() { std::cout << "DiamondTrap " << this->_name << " has been destroyed !" << std::endl; } /* ** --------------------------------- OVERLOAD --------------------------------- */ DiamondTrap & DiamondTrap::operator=( DiamondTrap const & rhs ) { if (&rhs == this) return *this; this->ClapTrap::_name = rhs.ClapTrap::_name; this->_name = rhs._name; this->_hitPoints = rhs._hitPoints; this->_energyPoints = rhs._energyPoints; this->_attackDamage = rhs._attackDamage; return *this; } std::ostream & operator<<( std::ostream & o, DiamondTrap const & i ) { (void)i; //o << "Value = " << i.getValue(); return o; } /* ** --------------------------------- METHODS ---------------------------------- */ void DiamondTrap::whoAmI(void) const { std::cout << "DiamondTrap Say : Hello i am " << this->_name << std::endl; } /* ** --------------------------------- ACCESSOR --------------------------------- */ /* ************************************************************************** */