Lavorare con C++ - Errata Corrige
Capitolo 1
- (Pagina 28) Nel codice di main() si fa riferimento al membro proprietario, che non fa parte della classe CaneDomestico. La versione corretta (riportata anche nel codice sorgente scaricabile) è padrone.
Capitolo 2
- (Pagina 49) Si parla di classi dinamiche alle quali viene aggiunto almeno un membro. In base alla terminologia che ho concordato col lettore poche righe prima, sarebbe più giusto parlare di classi polimorfe.
- (Pagina 52) Mi è uscito fuori un: "chiamate a variabili puntatore di classi polimorfe" - un giro di parole la cui oscurità sconfina nell'insensato. Meglio correggerlo con il semplicissimo: "chiamate a funzioni membro virtuali".
- (Pagina 54) Ho scritto che un'operazione di dynamic_cast non valida su un riferimento restituisce un'eccezione di tipo bad_cast. Chiaramente, il termine esatto è solleva.
Capitolo 5
- (Pagina 133) L'oggetto funzione "StampaPersona" dichiara un membro "Persona persona" assolutamente inutile. Potete tracciare con la vostra biro una bella linea di cancellazione sulla riga in questione. Ovviamente, la versione scaricabile del codice è corretta.
- (Pagina 137) Nel testo si dice dapprima che la data discriminante per distinguere una persona antica da una moderna è il 1000 d.C, mentre poi nel codice si fa riferimento al 1500. Nell'attesa che qualche storico dirima questa lacerante questione scegliete quella che preferite, e buonanotte. La versione scaricabile del codice riporta il 1500.
Capitolo 6
- (Pagina 143) Nelle ultime due righe del codice che spiega il funzionamento dei costruttori delle stringhe, è uscito fuori un mezzo pasticcio. Le righe esatte sono:
string str6(str2, 0, 2); //str2[0] e str2[1], cioé "C+"
string str7(&str2[1], &str2[3]); //da str2[1] a str2[3] (escluso), cioè "++"