Files
42_INT_09_piscine_cpp/d03/ex03/DiamondTrap.cpp
2022-02-23 17:05:56 +01:00

63 lines
1.8 KiB
C++

#include "DiamondTrap.hpp"
/*********************************************
* CONSTRUCTORS
*********************************************/
DiamondTrap::DiamondTrap( std::string name )
: ClapTrap(name + "_clap_name") {
_name = name;
_class = _dClass;
_hit = _dHit;
_energy = _dEnergy;
_attack = _dAttack;
std::cout << _class << " " << _name << "-" << _number << " created\n";
return;
}
DiamondTrap::DiamondTrap( DiamondTrap const & src ) {
_class = _dClass;
*this = src;
_number = getTotalNumber();
std::cout << _class << " " << _name << "-" << _number << " copied from " << src._class << "-" << src._name << "-" << src._number << "\n";
return;
}
/*********************************************
* DESTRUCTORS
*********************************************/
DiamondTrap::~DiamondTrap( void ) {
std::cout << _class << " " << _name << "-" << _number << " destructed\n";
return;
}
/*********************************************
* OPERATORS
*********************************************/
DiamondTrap & DiamondTrap::operator=( DiamondTrap const & rhs ) {
ClapTrap::operator=(rhs);
return *this;
}
/*********************************************
* PUBLIC MEMBER FUNCTIONS
*********************************************/
void DiamondTrap::whoAmI() {
std::cout << _class << B_CYAN " I AM DIAMOND" RESET << " " << _name << "-" << _number;
std::cout << B_CYAN " and clap" RESET << " " << ClapTrap::_name << "-" << _number << "\n";
}
/*********************************************
* STATICS
*********************************************/
std::string const DiamondTrap::_dName = "robot";
std::string const DiamondTrap::_dClass = "DiamondTrap";
int const DiamondTrap::_dHit = FragTrap::_dHit;
int const DiamondTrap::_dEnergy = ScavTrap::_dEnergy;
int const DiamondTrap::_dAttack = FragTrap::_dAttack;