/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* DiamondTrap.cpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/08/03 15:32:49 by apommier #+# #+# */ /* Updated: 2022/08/03 18:11:10 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ #include "DiamondTrap.hpp" DiamondTrap::DiamondTrap() { std::cout << "DiamondTrap Default constructor called" << std::endl; } DiamondTrap::DiamondTrap(std::string name) { ClapTrap::_name = name + "_clap_name"; std::cout << "DiamondTrap Name constructor called" << std::endl; this->_name = name; this->_hitPoints = 100; this->_energyPoints = 50; this->_attackDamage = 30; } DiamondTrap::DiamondTrap(const DiamondTrap& copy) { std::cout << "DiamondTrap Copy constructor called" << std::endl; *this = copy; } DiamondTrap::~DiamondTrap() { std::cout << "DiamondTrap " << this->_name << " Destructor called" << std::endl; } void DiamondTrap::attack(const std::string& target) { ScavTrap::attack(target); } void DiamondTrap::whoAmI() { std::cout << "My name is " << this->_name << " and my parent class name is " << ClapTrap::_name << std::endl; } DiamondTrap &DiamondTrap::operator=(const DiamondTrap& rhs) { std::cout << "DiamondTrap " << this->_name << " Assignation operator called" << std::endl; ClapTrap::operator=(rhs); ScavTrap::operator=(rhs); FragTrap::operator=(rhs); return *this; }