|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Registered User
Iscritto dal: Oct 2006
Messaggi: 82
|
[c++]Costruttori
Supponiamo di avere una classe Point.
Che differenza c'è fra un costruttore di questo tipo: Point(int x, int y){ x_ = x; y_ = y; } e un costruttore di questo tipo: Point(int x, int y): x_(x), y_(y){ } Sono del tutto equivalenti? Se non lo sono quando si usa il primo e quando il secondo? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
si sono equivalenti...credo sia più una questione estetica che funzionale
![]()
__________________
![]() |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jan 2003
Città: Roma / Napoli ---------------------- Vi PREGO, chiamatemi Marcello, non HarryFocker... Merci...
Messaggi: 1814
|
Quote:
![]()
__________________
LOVE WILL TEAR US APART.
--- Cisco Systems CCNA Certified --- MyLastFM --- My Deviations --- Quando i 65daysofstatic si scioglieranno per problemi di droga del bassista... Io l'avevo già detto! ![]() |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2516
|
è uguale, ma da quello che ricordo devi usare obbligatoriamente il secondo per inizializzare dati costanti e per inizializzare costruttori di classi base se fai l'ereditarietà
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Avendo a che fare con interi in pratica non cambia nulla perche' il costruttore di default non fa nulla e quello con argomento effettua l'assegnamento. Se tu pero' al posto di int avessi oggetti piu' complessi la differenza potrebbe notarsi.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:57.