Newsgroup: it.comp.lang.c++
Titolo: strana sintassi

Salve,
dopo aver studiato il C++ su un libro dal titolo "Guida al linguaggio
C++" di Herbert Schildt edito da McGraw-Hill,sono rimasto molto
perplesso leggendo un tutorial ad STL,in quanto ho trovato la seguente
sintassi di cui non si parla affatto nel libro in questione:
class shape{
private:
	int x_pos;
	int y_pos;
	int color;
public:
	shape() : x_pos(0),y_pos(0),color(1) {}
	....
};
Che significa il simbolo ":" dopo il costruttore?
So che il corpo di una funzione membro si puo' definire all'interno
della classe,ma comunque sempre dentro le parentesi graffe.
Inoltre,immagino che le chiamate tipo "x_pos(0)" assegnino all'intero
x_pos il valore 0,ma sembra quasi che,scrivendo cosi',tale intero venga
considerato un oggetto,o sbaglio?
 
-- 
**************************************
Duke Of Hell - Lord Of Chaos
Computer Science Undergraduate Student
http://www.cs.unibo.it/~tasso
**************************************

C++" di Herbert Schildt edito da McGraw-Hill,sono rimasto molto
Non mi stupisco di cio', l'autore ha la fama di non sapere (quasi)
nulla di C++ (oltre che di C), e i suoi libri sono spesso fonte di
problemi. Buttalo e prendi un altro libro, in rete trovi "Thinking in
C++ 2nd ed" su 
http://www.bruceeckel.com
 (gratis ma in inglese). Altri
libri sono il "C++ programming language 3rd ed" di Stroustrup e "C++
primer" di Lippmap (spero si chiami cosi', non l'ho mai letto, ma ne
dicono un gran bene). Lascia perdere le traduzioni, di solito non
rendono... (ammesso che ci siano...)
--
 (o-  | HomePage 
http://pinguin.linuxbox.com
 //\  | email: r.salmaso (at) 
flashnet.it
 V_/_ | email: pinguin (at) 
pinguin.linuxbox.com

 rendono... (ammesso che ci siano...)
Dipende anche da quanta padronanza uno ha dell'inglese.  Da
"pochina" in su, OK, conviene l'originale.  Ma se uno e` proprio
a zero, che fa, cambia mestiere...?  Purtroppo non so consigliare
neppure un testo sul linguaggio C++ la cui traduzione italiana
sia buona.  Su Perl, per fortuna, il classico testo di Wall,
Schwartz e Christiansen, oltre ad essere buono in se`, e`
anche tradotto decentemente (onore a M. Muzi e M. Tadiello,
i traduttori che di cio` hanno merito).
Del Lippmann e Lajoie, per ora, nessuna traduzione italiana.
Suggerisco lettere anonime di minaccia alla Addison Wesley
Italia...:-).
Alex

 a zero, che fa, cambia mestiere...?  Purtroppo non so consigliare
Beh, io credo che chi programma almeno un pochino di inglese lo debba
masticare. Almeno quel tanto che basta per leggersi la documentazione, che
spesso è solo in inglese, o almeno per avere un'idea di quello che sta
scrivendo (i linguaggi usano parole chiave inglesi). Ciò non vuol dire fare
4 anni a Oxford, ma almeno capirne un pochino.
Non vorrei scatenare cori di proteste, ma chi non capisce proprio niente di
inglese, come fa? Rinuncia ad aggiornarsi?
--
Alessandro Monti

Sono perfettamente d'accordo, anzi sono piu' drastico. Penso che se uno
si accontenta di smanettare non c'e' niente di male, puo' riuscire a
divertirsi ed a guadagnarsi il pane. Ma chi vuole qualcosa di piu', e'
seriamente appassionato di informatica ed intende cercarsi una posizione
lavorativa di carattere tecnico, ma di un certo livello, deve
confrontarsi il prima possibile con l'esigenza di conoscere l'inglese
decentemente. Oggi forse "solo" per leggere libri che non sono
disponibili altrimenti, domani per poter lavorare in questo settore,
sempre piu' internazionale.
Ciao,
Nicola

Che significa il simbolo ":" dopo il costruttore?
Cio` che segue i ':' e` la lista di inizializzazione del costruttore.
E` la sintassi che si utilizza per inizializzare i data member del
generico oggetto. E` importante soprattutto per controllare il
processo di costruzione delle componenti che sono a loro volta
istanze di una qualche classe. Trovi una spiegazione piu`
dettagliata oltre che sul sopracitato "Thinking in C++" anche sul mio
tutorial su 
www.programmazione.it
 o alla mia home page.
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

 Italia...:-).
Condivido tutti i giudizi espressi, con l'eccezione di quest'ultimo.
Chi scrive programmi ha necessita' di conoscere *almeno* l'inglese
scritto: non intendo dire che deve poter sostenere una mezz'ora di
conversazione sul tempo con una vecchina del Dorset che gli sta
versando un mug di te', ne' che debba capire tutte le sfumature
degli articoli del Sun o del Mirror corredati di bellezze in topless;
ma il linguaggio tecnico, e per di piu' specifico di un campo in cui
si svolge la nostra attivita', si.
Per non parlare del fatto che negli studi universitari in campo
scientifico generico (fisica, chimica, biologia, ...), dal terz'anno
in avanti libri in italiano o non esistono o costano dieci volte tanto
l'originale.
E per non parlare del fatto che, se le traduzioni esistono, sono fatte
da cane.
Infine: abituatevi a capire l'inglese _tecnico_scritto_, il che vi
puo' fare solo che bene.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Univ. of Padova, Dept. of Physics - Padova, Italy
 ^^^^^^^^         ^^^^^^^^^^^^^^^^           ^^^^^
Suppongo che queste informazioni facciano parte dell'"inglese tecnico
scritto".
Saluti,
Daniele Franza
<Isauricus>

 scritto".
Non e' sfoggio di erudizione.  Io attualmente non sono in Italia ma in
Svizzera (ecco perche' ho tanto tempo da dedicarvi: l'acceleratore ha
dei problemi); collaboro con persone di tutto il mondo; e comunico con
loro in inglese ("tecnico parlato" :-).  La .signature e' stata fatta
per quel 70-80% delle persone cui scrivo che non parla italiano.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Che significa il simbolo ":" dopo il costruttore?
Il simbolo ":" indica che si tratta della "riga di inizializzazione"
del costruttore..Essa é molto importante quando si ha a che fare con
delle classi composite e si vuole richiamare il costruttore della
classe base.Nel caso specifico però la riga di inizializzazione viene
utilizzata nel costruttore standard di una classe base,e quindi in
maniera totalmente errata.
Il Ghenio

 wrote in message
5u88OJ1FJUxME3...@4ax.com...

Invece viene usato in modo corretto. Non serve solo per le classi base, ma
anche per i membri (data).
Saluti, A.

per quel 70-80% delle persone cui scrivo che non parla italiano.
Anch'io sto all'estero (in Francia). La mia .signature č stata fatta
per il 100% delle persone cui scrivo (che sanno di avere a che fare
con un italiano).
Saluti,
Daniele Franza
<Isauricus>

 con un italiano).
Io sto in Italia ma sinceramente sono d'accordo con Maurizio Loreti.
Quando si riceve documentazione tecnica e` quasi sempre in
inglese e se ne esiste una italiana, e` spesso meglio leggere
quella in inglese. Proprio in questi giorni stavo guardando con alcuni
miei colleghi la documentazione di alcuni attuatori idraulici
(che dovranno servire per realizzare un simulatore di motociclista).
La documentazione e` praticamente tutta in inglese e visto che
quel prodotto ci e` indispensabile per realizzare il progetto,
o si sa l'inglese o non lo portiamo a termine (visto che
gli attuatori comandano una piattaforma che pesa varie centinaia
di Kg, e` bene capire cosa dicono i documenti per evitare
di far sbattere la piattaforma contro qualcosa o peggio contro
qualcuno ed andare poi in galera).
Tra l'altro a me e` capitato di lavorare con degli svedesi,
pur non essendomi allontanato dall'italia e dovrei in futuro
probabilmente lavorare con dei tedeschi.
Probabilmente masticare
qualche parola non guasta e studiarsi i testi tecnici in
inglese e` un ottimo modo per poter poi essere in grado
di capire o dire qualcosa.
Io addirirttura sto tentando di imparare il tedesco, anche
se con scarsi risultati, anche perche' non conosco
molti testi tecnici in tedesco (lo svedese e` troppo anche per me:-).
Si potrebbe anche dire: "io non lavoro con chi non parla/scrive
italiano". Pero` vista la situazione attuale del mercato del lavoro
non mi sembra una buona scelta.
Marco Guidi

 principianti...
Non conosco ne` lo specifico testo, ne` la traduzione,
ma l'autore (se e` Jesse Liberty, come credo) ha una
padronanza eccellente del C++ (e di altri temi di una
certa importanza per la programmazione); questo non
garantisce, certo, la qualita` di un dato libro, pero`
lascia bene sperare.
Alex

maniera totalmente errata.
Invece e` assolutamente corretta.
