Listing 1: Operator Overloading
// instantiate n by n matrices A, B, and
C
...
// technique 1: legal only in C++
C = A * B; // matrix multiplication returning
new matrix
C *= B; // in-place matrix multiplication
C *= 2; // in-place multiplication by a scalar
// technique 2: legal in C++ and Java
C = A.mul(B); // matrix multiplication returning
new matrix
C.mulBy(B); // in-place matrix multiplication
C.mulBy(2); // in-place multiplication by
a scalar