Files
gpd-925-en/CPlusPlus/Classes/Monster.cpp
T
2026-09-29 22:09:02 +02:00

51 lines
869 B
C++

//
// Created by David Hackbarth on 21.09.26.
//
#include "Monster.h"
#include <iostream>
using namespace std;
Monster::Monster() : Entity(""), _pWeapon(new Weapon())
{
cout << "Monster constructor called" << endl;
}
Monster::Monster(string name) : Entity(name), _pWeapon(new Weapon())
{
cout << "Monster constructor with name called" << 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()
{
cout << "Monster destructor called" << endl;
if (_pWeapon != nullptr)
{
delete _pWeapon;
_pWeapon = nullptr;
}
}
string Monster::toString()
{
return "Monster: " + _name;
}
int Monster::compareTo(const IComparable& other) const
{
return 0;
}