|
|
|
|
Strumenti |
10-12-2017, 20:47 | #1 |
Junior Member
Iscritto dal: Feb 2017
Messaggi: 15
|
[C++/OOP] Visibilità GET e SET
Ho una classe con funzioni SET e GET
I parametri passati nella SET sono passati per valore Ma un parametro passato per valore non ha visibilità limitata a quella funzione (cioè la funz. SET)? Come fa la GET a "vedere" quegli stessi valori e a restituirli? Grazie |
11-12-2017, 09:31 | #2 | |
Senior Member
Iscritto dal: Aug 2017
Messaggi: 469
|
Quote:
La set imposta il valore di _valore e la get lo torna. |
|
11-12-2017, 09:32 | #3 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20816
|
Quote:
comunque posta il codice incriminato così lo vediamo
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
11-12-2017, 11:15 | #4 |
Junior Member
Iscritto dal: Feb 2017
Messaggi: 15
|
È un esercizio semplice, il mio più che altro è un dubbio su un aspetto teorico
Ho l'interfaccia di una classe numero complesso class Complex{ private: float Re; float Im; public: Complex(float RE=0.0,float IM=0.0){Re=RE;Im=IM;} //costruttore float getRe()const {return Re;} //GET float getIm()const {return Im;} //GET void setRe(float RE){Re=RE;} //SET void setIm(float IM){Im=IM;} //SET } Il mio dubbio è: la visibilità del parametro passato per valore alla set non dovrebbe essere limitata alla funzione set? Come fa quel valore ad "arrivare" alla funzione get? Non dovrei usare un passaggio per riferimento o per indirizzo per quello? O nella classe questa regola non vale? (ad es. chiamo la funzione setRe(10), cioè passo a Re il valore 10. Ma dovrebbe essere limitato alla funzione set, o no?) |
11-12-2017, 17:35 | #5 |
Senior Member
Iscritto dal: Aug 2017
Messaggi: 469
|
La variabile a cui mi riferivo io è proprio come Re
|
11-12-2017, 18:30 | #6 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20816
|
Re è una variabile della classe definita come privata quindi è visibile a tutti i metodi della classe siano essi privati pubblici o protetti
occhio che RE e Re hanno due scope nettamente diversi RE è il parametro della funzione e ha uno scope limitato solo alla funzione (quello che pensavi tu) ma se nel corpo della funzione assegni a Re il valore di RE imposti la variabile interna al valore di RE ed è quello che viene ritornato dalla funzione GET
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
12-12-2017, 09:08 | #7 |
Junior Member
Iscritto dal: Feb 2017
Messaggi: 15
|
Ho capito, grazie mille
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:51.