Сообщение от Livaanderiamarum
|
верно! арифметическое сокращение тоже может работать только с количествами. а не с нулями.
|
Если так сильно хочется делить и умножать на нуль, наслаждайся
#include <iostream>
class Int {
public:
Int(int i): value(i) {}
operator int() const {
return value;
}
int operator*(Int &rv) {
if_null(rv);
return value * rv;
}
int operator/(Int &rv) {
if_null(rv);
return value / rv;
}
private:
int value;
inline void if_null(Int &rv) {
if (value == 0)
value = 1;
else if (rv == 0)
rv = 1;
}
};
int main() {
Int a = 0;
Int b = 5;
int i = a * b; //5
int j = a / b; //5
std::cout << "0 * 5 = " << i << "\n0 / 5 = " << j << std::endl;
return 0;
}