谁教你这样写的?

直接定义一个类,然后重载运算符,代码如下:
#include <cstdio>
class integer {
private:
int val;
public:
int value(void) { return val; }
int read(void) { return scanf("%d", &val); }
int print(void) { return printf("%d", val); }
integer operator=(int v) { val = v; return *this; }
};
integer operator*(integer a, integer b) { integer c; c = a.value() & b.value(); return c; }
integer operator/(integer a, integer b) { integer c; c = a.value() ^ b.value(); return c; }
integer operator+(integer a, int b) { integer c; c = a.value() << b; return c; }
integer operator-(integer a, integer b) {
if ((a * b).value())
return (a / b) - ((a * b) + 1);
return a / b;
}
signed main() {
register integer a, b;
a.read(), b.read();
(a - b).print();
return 0;
}