PDA

View Full Version : [C#]Overloading di operatore legale


Kleidemos
04-02-2003, 16:00
E legale questo overloading di operatore????????

public string operator+(int valore) {
get{
return valore
}
set{
// incremento di 2 e ritorno il valore
valore += 2;
return valore;
}
}

Tnk & Ciao

P.S: so che sembra na cagata ma sto provando a mettere in pratica quello che ho letto sul libro!

cionci
04-02-2003, 17:29
Io di C# non ci capisco 'na mazza, ma come fa ad essere legale se ritorna un intero ?

Kleidemos
04-02-2003, 17:32
Originally posted by "cionci"

Io di C# non ci capisco 'na mazza, ma come fa ad essere legale se ritorna un intero ?

è cosi skusapublic int operator+(int valore) {
get{
return valore
}
set{
// incremento di 2 e ritorno il valore
valore += 2;
return valore;
}
}

cionci
04-02-2003, 17:43
Ad occhio non mi sembra comunque corretto perchè l'operatore + deve prendere 2 operandi... Ora...se non è un operatore membro di una classe allora dovrebbe prendere due parametri invece di uno solo...

Kleidemos
04-02-2003, 17:50
Originally posted by "cionci"

Ad occhio non mi sembra comunque corretto perchè l'operatore + deve prendere 2 operandi... Ora...se non è un operatore membro di una classe allora dovrebbe prendere due parametri invece di uno solo...

ma la mia intenzione e che se faccio a+ lui faccia a+2;)
cosi sarebbe + logico?

public int operator++(int valore) {
get{
return valore
}
set{
// incremento di 2 e ritorno il valore
valore += 2;
return valore;
}
}

cionci
04-02-2003, 18:00
Sì...è più logico, ma visto che un'operatore con lo stessa intestazione è già definito non credo che ti permetta di compilarlo...

Kleidemos
04-02-2003, 18:02
Originally posted by "cionci"

Sì...è più logico, ma visto che un'operatore con lo stessa intestazione è già definito non credo che ti permetta di compilarlo...
:cry:

cionci
04-02-2003, 18:12
Sempre che si possa...dovresti derivare una tua classe da int ed aggiungerci questo operatore come membro della classe...