While you can basically define operators as you see fit, parens will be a problem. The reason is in conflict with the class constructor! Array (25), what does this mean? I'm not sure if this is allowed (although I'm sure someone else will find out), but the fact is that even if you are allowed, you will have a problem with this.
In general, characters that serve as operators can be overloaded / redefined. You can specify how ==, &,> and [] work for your class. You cannot decide that the letter "q" now means some type of comparison. Regarding the problem (), I'm not sure.
The reference label is also necessary for indexing, because you want to potentially perform the assignment to the returned address, and not just get the value. If you allow a weak description, the "majority" of your operators will not require this.
source share