Mam takie dość ciekawe pytanie związku z operatorami przeciążonymi. po prostu do mojej wyobraźni
jakoś to nie wchodzi. np mam klase mojaKlasa i
public class mojaKlasa
{
int mojint;
int mojint2;
int mojint3;
// i przeciążam operator +
public static operator+(mojaKlasa mk,int ab)
{
//i oczywiście
return mk.mojint+ab; //I w tym momencie pytanie
tutaj właśnie się deklaruje co konkretnie ma dodawać operator +, tak jak ja wyobrażam zamiast operator + z powodzeniem można napisać np : dodaj(mojaKlasa mk,int ab), czyli metoda dodaj zwróci mk.mojint + ab; no i do czego wymyślono ten operator+(-,*,/ itd) jeśli nie można np w funkcji Main dopiero decydować które pole ma dodawać. Nie wiem czy wyraźnie mówię spróbuję jaśniej.
A może np w funkcji Main dopiero będę mógł decydować czy ma być mojint dodane do ab, czy mojint2 ma być dodane do ab.czyli nie można zrobić tak żeby te operatory służyły jako operatory matematyczne a nie jako metody bardzo intuicyjne. wiem można robić get{} i sobie dodawać , ale dziwi mnie ten operator +.
Jaka jest jego rola,tylko ta żeby była ładniej czytelna?
Pozdrawiam