Pouquíssimos tipos precisam ter seus próprios operadores e eles são os que possuem equivalência na matemática. De preferência em coisas óbvias. Não é para abusar da sobrecarga de operadores. Não é para criar para qualquer coisa, não é para fazer uso criativo. Tem linguagem que optou por não ter isto justamente para evitar abuso (o que eu discordo, porque qualquer coisa pode ser abusada).
Se vai mesmo fazer isto, um bom começo é ler todo o tutorial "oficial" com muita atenção, ler a documentação, a especificação e pesquisar muito sobre o assunto.