Source:
namespace Operator is
class Number is
int value;
void init(int v) is
Value = v;
si
set int Value = v is
value = v;
si
get int Value is
return value;
si
// define operator =~ method, which will be called for
// both =~ and !~, to compare Numbers for value equality:
bool operator =~(Number u) is
return Value == u.Value;
si
// define operator + method to add two Numbers:
Number operator +(Number u) is
return new Number(Value + u.Value);
si
// define operator - method to subtract two Numbers:
Number operator -(Number u) is
return new Number(Value - u.Value);
si
// define operator > method, which is called for all
// inequality operations, to return negative, zero or positive
// result indicating ordering of two Numbers:
int operator >(Number u) is
return Value - u.Value;
si
String toString() is
return Value.toString();
si
si
class Main is
void init() is
var n = new Number(123);
var m = new Number(456);
IO.Std.out.println( "" + n + " + " + m + " = " + (n + m) );
IO.Std.out.println( "" + m + " - " + n + " = " + (m - n) );
IO.Std.out.println( "" + n + " =~ " + m + " = " + (m =~ n) );
IO.Std.out.println( "" + n + " <= " + m + " = " + (m <= n) );
si
si
si
site design and content copyright (C) jeek 1995-2010  
[
13132
]