41 lines
617 B
C++
41 lines
617 B
C++
#ifndef ATARGET_HPP
|
|
# define ATARGET_HPP
|
|
|
|
# include <iostream>
|
|
# include <string>
|
|
|
|
class ASpell;
|
|
|
|
class ATarget {
|
|
private:
|
|
|
|
std::string type;
|
|
|
|
public:
|
|
ATarget() {
|
|
};
|
|
ATarget(std::string const & type) {
|
|
this->type = type;
|
|
};
|
|
ATarget(ATarget const & other) {
|
|
*this = other;
|
|
};
|
|
ATarget & operator=(ATarget const & other) {
|
|
this->type = other.type;
|
|
return (*this);
|
|
};
|
|
virtual ~ATarget() {};
|
|
|
|
std::string const & getType() const {
|
|
return (this->type);
|
|
};
|
|
|
|
void getHitBySpell(ASpell const & aspell) const;
|
|
|
|
virtual ATarget * clone() const = 0;
|
|
};
|
|
|
|
#include "ASpell.hpp"
|
|
|
|
#endif
|