-
Notifications
You must be signed in to change notification settings - Fork 0
/
ItemType.cpp
80 lines (63 loc) · 1.16 KB
/
ItemType.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include "ItemType.hpp"
#include <iostream>
ItemType::ItemType()
{
this->ascii = '~';
this->weight = 0;
}
ItemType::ItemType(const ItemType &i)
{
this->ascii = i.ascii;
} // copy constructor
void ItemType::operator =(ItemType &i)
{
this->ascii = i.ascii;
this->weight = i.weight;
}
bool ItemType::operator ==(ItemType &i)
{
return ascii==i.ascii;
}
bool ItemType::operator >(ItemType &i)
{
return ascii>i.ascii;
}
bool ItemType::operator <(ItemType &i)
{
return ascii<i.ascii;
}
bool ItemType::operator !=(ItemType &i)
{
return ascii!=i.ascii;
}
bool ItemType::operator >=(ItemType &i)
{
return ascii>=i.ascii;
}
bool ItemType::operator <=(ItemType &i)
{
return ascii<=i.ascii;
}
void ItemType::operator =(unsigned char c)
{
this->ascii = c;
}
void ItemType::operator =(unsigned int i)
{
this->weight = i;
}
ItemType& ItemType::operator++()
{
this->weight++;
return *this;
}
ItemType& ItemType::operator--()
{
this->weight--;
return *this;
}
std::ostream &operator << (std::ostream &out, const ItemType &i)
{
out << "| " << "'" << i.ascii << "' | " << i.weight << " |";
return out;
}