d02 ex02 errors comparisons and _value
This commit is contained in:
@@ -113,13 +113,13 @@ bool Fixed::operator> (Fixed const & rhs) const {
|
|||||||
return rhs < *this;
|
return rhs < *this;
|
||||||
}
|
}
|
||||||
bool Fixed::operator<=(Fixed const & rhs) const {
|
bool Fixed::operator<=(Fixed const & rhs) const {
|
||||||
return !(rhs > *this);
|
return !(*this > rhs);
|
||||||
}
|
}
|
||||||
bool Fixed::operator>=(Fixed const & rhs) const {
|
bool Fixed::operator>=(Fixed const & rhs) const {
|
||||||
return !(rhs < *this);
|
return !(*this < rhs);
|
||||||
}
|
}
|
||||||
bool Fixed::operator==(Fixed const & rhs) const {
|
bool Fixed::operator==(Fixed const & rhs) const {
|
||||||
return this->toFloat() == rhs.toFloat();
|
return this->_value == rhs._value;
|
||||||
}
|
}
|
||||||
bool Fixed::operator!=(Fixed const & rhs) const {
|
bool Fixed::operator!=(Fixed const & rhs) const {
|
||||||
return !(*this == rhs);
|
return !(*this == rhs);
|
||||||
@@ -141,8 +141,8 @@ Fixed Fixed::operator* ( Fixed const & rhs ) const {
|
|||||||
}
|
}
|
||||||
Fixed Fixed::operator/ ( Fixed const & rhs ) const {
|
Fixed Fixed::operator/ ( Fixed const & rhs ) const {
|
||||||
Fixed result(*this);
|
Fixed result(*this);
|
||||||
if (rhs.value == 0)
|
if (rhs._value == 0)
|
||||||
std::cout << "impossible division by 0\n";
|
std::cout << "!impossible division by 0¡";
|
||||||
else
|
else
|
||||||
result._value = (long)(result._value << Fixed::_frac) / rhs._value;
|
result._value = (long)(result._value << Fixed::_frac) / rhs._value;
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -30,14 +30,14 @@ int main( void ) {
|
|||||||
|
|
||||||
// ">"
|
// ">"
|
||||||
std::cout << "\n" COLOR "operator >"" RESET " RESET "\n";
|
std::cout << "\n" COLOR "operator >"" RESET " RESET "\n";
|
||||||
std::cout << "e = greater of (c, d) : e == " << (e = (c > d) ? c : d) << '\n';
|
|
||||||
std::cout << COLOR2 "e:" << e << " c:" << c << " d:" << d << RESET "\n";
|
std::cout << COLOR2 "e:" << e << " c:" << c << " d:" << d << RESET "\n";
|
||||||
|
std::cout << "e = greater of (c, d) : e == " << (e = (c > d) ? c : d) << '\n';
|
||||||
std::cout << "e > c ? : " << (e > c) << '\n';
|
std::cout << "e > c ? : " << (e > c) << '\n';
|
||||||
std::cout << "e > d ? : " << (e > d) << '\n';
|
std::cout << "e > d ? : " << (e > d) << '\n';
|
||||||
// "<"
|
// "<"
|
||||||
std::cout << "\n" COLOR "operator <" RESET "\n";
|
std::cout << "\n" COLOR "operator <" RESET "\n";
|
||||||
std::cout << "e = smaller of (c, d) : e == " << (e = (c < d) ? c : d) << '\n';
|
|
||||||
std::cout << COLOR2 "e:" << e << " c:" << c << " d:" << d << RESET "\n";
|
std::cout << COLOR2 "e:" << e << " c:" << c << " d:" << d << RESET "\n";
|
||||||
|
std::cout << "e = smaller of (c, d) : e == " << (e = (c < d) ? c : d) << '\n';
|
||||||
std::cout << "e < c ? : " << (e < c) << '\n';
|
std::cout << "e < c ? : " << (e < c) << '\n';
|
||||||
std::cout << "e < d ? : " << (e < d) << '\n';
|
std::cout << "e < d ? : " << (e < d) << '\n';
|
||||||
// "<="
|
// "<="
|
||||||
@@ -98,6 +98,10 @@ int main( void ) {
|
|||||||
d = Fixed(10);
|
d = Fixed(10);
|
||||||
std::cout << COLOR2 "e:" << e << " c:" << c << " d:" << d << RESET "\n";
|
std::cout << COLOR2 "e:" << e << " c:" << c << " d:" << d << RESET "\n";
|
||||||
std::cout << "e = c / d ? : " << (e = c / d) << '\n';
|
std::cout << "e = c / d ? : " << (e = c / d) << '\n';
|
||||||
|
c = Fixed(6);
|
||||||
|
d = Fixed(0);
|
||||||
|
std::cout << COLOR2 "e:" << e << " c:" << c << " d:" << d << RESET "\n";
|
||||||
|
std::cout << "e = c / d ? : " << (e = c / d) << '\n';
|
||||||
// "+ - * /"
|
// "+ - * /"
|
||||||
std::cout << "\n" COLOR "operator + - * /" RESET "\n";
|
std::cout << "\n" COLOR "operator + - * /" RESET "\n";
|
||||||
Fixed g;
|
Fixed g;
|
||||||
@@ -111,22 +115,18 @@ int main( void ) {
|
|||||||
// "++x"
|
// "++x"
|
||||||
std::cout << "\n" COLOR "operator ++o" RESET "\n";
|
std::cout << "\n" COLOR "operator ++o" RESET "\n";
|
||||||
e = Fixed(2);
|
e = Fixed(2);
|
||||||
std::cout << "e : " << e << '\n';
|
|
||||||
std::cout << COLOR2 "e:" << e << RESET "\n";
|
std::cout << COLOR2 "e:" << e << RESET "\n";
|
||||||
std::cout << "++e : " << ++e << " ; e : " << e << '\n';
|
std::cout << "++e : " << ++e << " ; e : " << e << '\n';
|
||||||
// "--x"
|
// "--x"
|
||||||
std::cout << "\n" COLOR "operator --o" RESET "\n";
|
std::cout << "\n" COLOR "operator --o" RESET "\n";
|
||||||
std::cout << "e : " << e << '\n';
|
|
||||||
std::cout << COLOR2 "e:" << e << RESET "\n";
|
std::cout << COLOR2 "e:" << e << RESET "\n";
|
||||||
std::cout << "--e : " << --e << " ; e : " << e << '\n';
|
std::cout << "--e : " << --e << " ; e : " << e << '\n';
|
||||||
// "x++"
|
// "x++"
|
||||||
std::cout << "\n" COLOR "operator o++" RESET "\n";
|
std::cout << "\n" COLOR "operator o++" RESET "\n";
|
||||||
std::cout << "e : " << e << '\n';
|
|
||||||
std::cout << COLOR2 "e:" << e << RESET "\n";
|
std::cout << COLOR2 "e:" << e << RESET "\n";
|
||||||
std::cout << "e++ : " << e++ << " ; e : " << e << '\n';
|
std::cout << "e++ : " << e++ << " ; e : " << e << '\n';
|
||||||
// "x--"
|
// "x--"
|
||||||
std::cout << "\n" COLOR "operator o--" RESET "\n";
|
std::cout << "\n" COLOR "operator o--" RESET "\n";
|
||||||
std::cout << "e : " << e << '\n';
|
|
||||||
std::cout << COLOR2 "e:" << e << RESET "\n";
|
std::cout << COLOR2 "e:" << e << RESET "\n";
|
||||||
std::cout << "e-- : " << e-- << " ; e : " << e << '\n';
|
std::cout << "e-- : " << e-- << " ; e : " << e << '\n';
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ ScavTrap::ScavTrap( std::string name ) : ClapTrap(name) {
|
|||||||
_energy = 50;
|
_energy = 50;
|
||||||
_attack = 20;
|
_attack = 20;
|
||||||
|
|
||||||
std::cout << _class << " " << _name << " created with number " << _number << "\n";
|
std::cout << _class << " " << ScavTrap::_name << " created with number " << _number << "\n";
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -17,6 +17,14 @@ ScavTrap::ScavTrap( std::string name ) : ClapTrap(name) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ScavTrap::~ScavTrap( void ) {
|
ScavTrap::~ScavTrap( void ) {
|
||||||
std::cout << _class << " " << _name << " destructed\n";
|
std::cout << _class << " " << ScavTrap::_name << " destructed\n";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* special capacity
|
||||||
|
*/
|
||||||
|
|
||||||
|
void ScavTrap::guardGate() {
|
||||||
|
std::cout << _class << " entered special mode Gate Keeper\n";
|
||||||
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ public:
|
|||||||
ScavTrap(std::string name);
|
ScavTrap(std::string name);
|
||||||
~ScavTrap();
|
~ScavTrap();
|
||||||
|
|
||||||
|
void guardGate();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
BIN
d03/ex01/robots
BIN
d03/ex01/robots
Binary file not shown.
Reference in New Issue
Block a user