Files
david 3b35b973c9 add smart pointers
add polymorphism
add destructor & copy constructor
add pointer-pointer
2025-09-22 18:22:03 +02:00

36 lines
550 B
C++

#include "Monster.h"
#include <iostream>
Monster::Monster() : _pWeapon(new Weapon())
{
//toString();
std::cout << "Monster::Monster()" << std::endl;
}
Monster::Monster(const Monster& other)
{
// shallow copy
this->_name = other._name;
//this->_pWeapon = other._pWeapon;
// deep copy
this->_pWeapon = new Weapon(*other._pWeapon);
}
Monster::~Monster()
{
std::cout << "Monster::~Monster()" << std::endl;
if (_pWeapon != nullptr)
{
delete _pWeapon;
_pWeapon = nullptr;
}
}
int Monster::Compare(ICompareable* pOther)
{
return 0;
}