Manuali Scontati

Manuali Scontati

Manuali Gratis > Programmazione > C++

Manuale C++ la guida completa - quarta edizione

Editore: Mc Graw Hill
Pagine: 989
Autore: Schildt Herbert
Collana: La guida completa

Acquistalo a prezzo scontato:
Manuali Scontati
Data Pubblicazione: 2003-05-01
ISBN: 8838643261
Prezzo: 52.00 €
Lingua: Italiano

Quarta di copertina

Il noto programmatore e autore Herbert Schildt ha aggiornato e ampliato il suo libro sul linguaggio C++. Tramite descrizioni realizzate con maestria, suggerimenti professionali e centinaia di esempi, Schildt spiega e illustra ogni aspetto del linguaggio C++. In questo volume viene descritto l’intero linguaggio C++, comprese le parole riservate, gli operatori, le direttive del processore e le librerie. C’e' anche una breve introduzione alle parole riservate estese introdotte per la programmazione in ambiente .NET. Naturalmente tutto viene presentato con lo stile chiaro, preciso e senza compromessi che ha reso Schildt la scelta preferita per milioni di utenti.
Questa risorsa risponde a tutte le domande sul linguaggio C++ e pertanto può essere utile sia al programmatore alle prime armi sia al programmatore professionista.

Argomenti trattati:

  • Tipi di dati e operatori
  • Istruzioni di controllo
  • Funzioni
  • Classi e oggetti
  • Costruttori e distruttori
  • Overloading di funzioni e operatori
  • Ereditarieta'
  • Funzioni virtuali
  • Namespace
  • Template
  • Gestione delle eccezioni
  • La libreria di I/O
  • La libreria STL (Standard Template Library)
  • I container, gli algoritmi e gli iteratori
  • I principi della programmazione a oggetti
  • RTTI (Runtime Type ID)
  • Il preprocessore... e molto altro ancora
Herbert Schildt, esperto in programmazione e autore di successo, e' lo scrittore sulla programmazione piu' autorevole del mondo, con oltre 3 milioni di copie vendute in tutto il pianeta.



Indice

Indice

Introduzione XV

PARTE PRIMA - LE BASI DEL C++: IL LINGUAGGIO C 1

Capitolo 1 Una panoramica sul linguaggio C 3
1.1 Le origini e la storia del linguaggio C 3
1.2 Il C e' un linguaggio di medio livello 5
1.3 Il C e' un linguaggio strutturato 6
1.4 Il C e' un linguaggio per programmatori 8
1.5 L’aspetto di un programma C 10
1.6 La libreria e il linker 10
1.7 La compilazione separata 13
1.8 Le estensioni di file: .c e .cpp 13

Capitolo 2 Le espressioni 15
2.1 I cinque tipi di dati principali 15
2.2 Modificare i tipi principali 16
2.3 Il nome degli identificatori 18
2.4 Le variabili 19
2.5 I qualificatori const e volatile 25
2.6 Specificatori di classe di memorizzazione 28
2.7 Inizializzazione delle variabili 35
2.8 Le costanti 36
2.9 Gli operatori 39
2.10 Le espressioni 57

Capitolo 3 Le istruzioni 63
3.1 La verita' e la falsita' in C e C++ 64
3.2 Le istruzioni di selezione 64
3.3 Le istruzioni di iterazione 76
3.4 La dichiarazione di variabili nelle istruzioni di selezione e iterazione 87
3.5 Le istruzioni di salto 88
3.6 Le espressioni 94
3.7 I blocchi 95

Capitolo 4 Gli array e le stringhe 97
4.1 Gli array monodimensionali 97
4.2 La generazione di un puntatore a un array 99
4.3 Come passare un array monodimensionale a una funzione 100
4.4 Le stringhe 101
4.5 Gli array bidimensionali 103
4.6 Gli array multidimensionali 110
4.7 L’indicizzazione dei puntatori 111
4.8 L’inizializzazione degli array 113
4.9 L’esempio del tris (tic-tac-toe) 116

Capitolo 5 I puntatori 121
5.1 Che cosa sono i puntatori? 121
5.2 Variabili puntatore 122
5.3 Gli operatori per i puntatori 123
5.4 Espressioni con puntatori 124
5.5 Puntatori e array 129
5.6 Indirizzamento multilivello 131
5.7 Inizializzazione di puntatori 133
5.8 Puntatori a funzioni 135
5.9 Le funzioni di allocazione dinamica del C 138
5.10 Problemi con i puntatori 141

Capitolo 6 Le funzioni 145
6.1 La forma generale di una funzione 145
6.2 Regole di visibilita' delle funzioni 146
6.3 Gli argomenti delle funzioni 147
6.4 Gli argomenti di main(): argc e argv 152
6.5 L’istruzione return 156
6.6 La ricorsione 162
6.7 Prototipi di funzioni 164
6.8 Dichiarazione di elenchi di parametri di lunghezza variabile 167
6.9 Dichiarazione di parametri con metodi vecchi e nuovi 167

Capitolo 7 Strutture, unioni, enumerazioni e tipi definiti dall’utente 169
7.1 Le strutture 170
7.2 Gli array di strutture 174
7.3 Il passaggio di strutture alle funzioni 175
7.4 I puntatori a strutture 177
7.5 Array e strutture all’interno di altre strutture 181
7.6 I campi bit 182
7.7 Le unioni 185
7.8 Le enumerazioni 188
7.9 Uso di sizeof per assicurare la trasportabilita' del codice 191
7.10 La parola riservata typedef 193

Capitolo 8 Operazioni di I/O da console 195
8.1 Un’importante nota applicativa 196
8.2 La lettura e la scrittura di caratteri 196
8.3 La lettura e la scrittura di stringhe 199
8.4 Le operazioni di I/O formattato da console 202
8.5 La funzione printf() 202
8.6 La funzione scanf() 211

Capitolo 9 Operazioni di I/O da file 219
9.1 Operazioni di I/O C e C++ 219
9.2 Stream e file 220
9.3 Gli stream 220
9.4 I file 221
9.5 Principi di funzionamento del file system 222
9.6 fread() e fwrite() 235
9.7 fseek() e operazioni di I/O ad accesso diretto 237
9.8 fprint() e fscanf() 239
9.9 Gli stream standard 240

Capitolo 10 Il preprocessore e i commenti 245
10.1 Il preprocessore 245
10.2 La direttiva #define 246
10.3 La direttiva #error 249
10.4 La direttiva #include 250
10.5 Le direttive per compilazioni condizionali 250
10.6 La direttiva #undef 254
10.7 Uso di defined 255
10.8 La direttiva #line 256
10.9 La direttiva #pragma 256
10.10 Gli operatori del preprocessore # e ## 257
10.11 Le macro predefinite 258
10.12 I commenti 259

PARTE SECONDA - PANORAMICA DEL LINGUAGGIO C++ 261

Capitolo 11 Panoramica del linguaggio C++ 263
11.1 Le origini del linguaggio C++ 263
11.2 Che cos’e' la programmazione a oggetti 265
11.3 Elementi di base del linguaggio C++ 268
11.4 C++ vecchio stile e C++ moderno 276
11.5 Introduzione alle classi C++ 280
11.6 L’overloading delle funzioni 284
11.7 L’overloading degli operatori 288
11.8 L’ereditarieta' 288
11.9 I costruttori e i distruttori 293
11.10 Le parole riservate del C++ 297
11.11 La forma generale di un programma C++ 298

Capitolo 12 Le classi e gli oggetti 299
12.1 Le classi 299
12.2 Le strutture e le classi 303
12.3 Le unioni e le classi 305
12.4 Le funzioni friend 307
12.5 Le classi friend 312
12.6 Le funzioni inline 313
12.7 Definizione di funzioni inline all’interno di una classe 316
12.8 I costruttori parametrizzati 317
12.9 I membri static di una classe 320
12.10 Quando vengono eseguiti i costruttori e i distruttori? 327
12.11 L’operatore di risoluzione del campo d’azione 329
12.12 La nidificazione delle classi 330
12.13 Le classi locali 330
12.14 Il passaggio di oggetti alle funzioni 331
12.15 La restituzione di oggetti 334
12.16 L’assegnamento di oggetti 335

Capitolo 13 Gli array, i puntatori, gli indirizzi e gli operatori di allocazione dinamica 337
13.1 Gli array di oggetti 337
13.2 I puntatori a oggetti 341
13.3 Verifiche di tipo sui puntatori C++ 343
13.4 Il puntatore this 343
13.5 I puntatori a tipi derivati 345
13.6 I puntatori ai membri di una classe 348
13.7 Gli indirizzi 351
13.8 Questione di stile 358
13.9 Gli operatori di allocazione dinamica del C++ 359

Capitolo 14 Overloading di funzioni, costruttori di copie e argomenti standard 371
14.1 Overloading delle funzioni 371
14.2 Overloading dei costruttori 373
14.3 I costruttori di copie 377
14.4 Ricerca dell’indirizzo di una funzione modificata tramite overloading 381
14.5 L’anacronismo della parola riservata overload 383
14.6 Gli argomenti standard delle funzioni 383
14.7 Overloading di funzioni e ambiguita' 390

Capitolo 15 Overloading degli operatori 395
15.1 Creazione di una funzione operator membro 396
15.2 Overloading di operatori tramite funzioni friend 403
15.3 Overloading di new e delete 409
15.4 Overloading di alcuni operatori particolari 418
15.5 Overloading dell’operatore virgola 425

Capitolo 16 L’ereditarieta' 429
16.1 Controllo dell’accesso alla classe base 429
16.2 Ereditarieta' dei membri protected 432
16.3 Ereditarieta' da piu' classi base 436
16.4 Costruttori, distruttori ed ereditarieta' 437
16.5 Accesso alle classi 445
16.6 Classi base virtuali 448

Capitolo 17 Funzioni virtuali e polimorfismo 453
17.1 Le funzioni virtuali 453
17.2 L’attributo virtual viene ereditato 458
17.3 Le funzioni virtuali sono gerarchiche 459
17.4 Le funzioni virtuali pure 462
17.5 Uso delle funzioni virtuali 464
17.6 Il binding anticipato e il binding ritardato 467

Capitolo 18 I template 469
18.1 Funzioni generiche 469
18.2 Uso delle funzioni generiche 478
18.3 Classi generiche 482
18.4 Le parole riservate typename ed export 493
18.5 La potenza dei template 494

Capitolo 19 Gestione delle eccezioni 497
19.1 Principi di gestione delle eccezioni 497
19.2 Gestione delle eccezioni per classi derivate 506
19.3 Opzioni della gestione delle eccezioni 507
19.4 Le funzioni terminate() e unexpected() 513
19.5 La funzione uncaught_exception() 515
19.6 Le classi exception e bad_exception 515
19.7 Applicazioni della gestione delle eccezioni 515

Capitolo 20 Il sistema di I/O C++: le basi 519
20.1 Operazioni di I/O C++ vecchie e nuove 520
20.2 Gli stream del C++ 520
20.3 Le classi per stream C++ 520
20.4 Operazioni di I/O formattato 522
20.5 Overloading di << e >> 535
20.6 Creazione di funzioni di manipolazione 544

Capitolo 21 Operazioni di I/O su file in C++ 549
21.1 L’header e le classi per i file 549
21.2 L’apertura e la chiusura di un file 550
21.3 La lettura e la scrittura di un file di testo 553
21.4 Le operazioni di I/O binarie e non formattate 555
21.5 Altre forme della funzione get() 561
21.6 La funzione getline() 561
21.7 Rilevamento della fine del file 563
21.8 La funzione ignore() 565
21.9 Le funzioni peek() e putback() 566
21.10 La funzione flush() 566
21.11 L’accesso diretto ai file 566
21.12 Lo stato delle operazioni di I/O 571
21.13 Personalizzazione delle operazioni di I/O sui file 573

Capitolo 22 L’identificazione run-time dei tipi e gli operatori cast 577
22.1 L’identificazione run-time dei tipi (RTTI) 577
22.2 Gli operatori di conversione cast 587
22.3 L’operatore dynamic_cast 587

Capitolo 23 Namespace, funzioni di conversione e altri argomenti avanzati 599
23.1 I namespace 599
23.2 Lo spazio dei nomi std 609
23.3 Creazione di funzioni di conversione 611
23.4 Funzioni membro const e mutable 614
23.5 Funzioni membro volatile 617
23.6 Costruttori espliciti 617
23.7 La sintassi di inizializzazione dei membri 619
23.8 Uso della parola riservata asm 623
23.9 Specifiche di linking 624
23.10 Operazioni di I/O su array 625
23.11 Riepilogo delle differenze esistenti fra C e C++ 633

Capitolo 24 Introduzione alla libreria STL 635
24.1 Introduzione all’uso della libreria STL 636
24.2 Le classi container 639
24.3 Funzionamento generale 640
24.4 I vettori 641
24.5 Le liste 651
24.6 Le mappe 662
24.7 Gli algoritmi 668
24.8 Uso degli oggetti funzione 678
24.9 La classe string 686
24.10 Commenti finali sulla libreria STL 698

PARTE TERZA - LA LIBRERIA DI FUNZIONI STANDARD 699

Capitolo 25 Le funzioni di I/O basate sul C 701

Capitolo 26 Le funzioni per stringhe e caratteri 725

Capitolo 27 Le funzioni matematiche 737

Capitolo 28 Le funzioni per le date, le ore e la localizzazione 745

Capitolo 29 Le funzioni di allocazione dinamica della memoria 753

Capitolo 30 Le funzioni di servizio 757

Capitolo 31 Le funzioni per caratteri estesi 771
31.1 Le funzioni di classificazione per caratteri estesi 772
31.2 Le funzioni di I/O per caratteri estesi 774
31.3 Le funzioni per stringhe di caratteri estesi 776
31.4 Le funzioni di conversione per stringhe di caratteri estesi 777
31.5 Le funzioni per array di caratteri estesi 777
31.6 Le funzioni per la conversione di caratteri multibyte ed estesi 778

PARTE QUARTA - LA LIBRERIA DI CLASSI STANDARD DEL C++ 779

Capitolo 32 Le classi di I/O del C++ standard 781
32.1 Le classi di I/O 781
32.2 Gli header di I/O 784
32.3 I flag di formattazione e i manipolatori di I/O 784
32.4 I tipi del sistema di I/O del C++ standard 786
32.5 Overloading degli operatori < e > 788
32.6 Le funzioni di I/O di utilizzo generale 788

Capitolo 33 Le classi container STL 803
33.1 Le classi container 804

Capitolo 34 Gli algoritmi STL 827

Capitolo 35 Iteratori, allocatori e oggetti funzione STL 847
35.1 Gli iteratori 847
35.2 Gli oggetti funzione 858
35.3 Gli allocatori 864

Capitolo 36 La classe string 867
36.1 La classe basic_string 867
36.2 La classe char_traits 876

Capitolo 37 Le classi per numeri 879
37.1 La classe complex 879
37.2 La classe valarray 883
37.3 Gli algoritmi numerici 897

Capitolo 38 Le classi per la gestione delle eccezioni 903
38.1 Le eccezioni 903
38.2 La classe auto_ptr 905
38.3 La classe pair 907
38.4 La localizzazione 908
38.5 Altre classi interessanti 908

PARTE QUINTA - APPLICAZIONI C++ 909

Capitolo 39 Integrazione delle nuove classi: una classe personalizzata per le stringhe 911
39.1 La classe StrType 912
39.2 I costruttori e i distruttori 914
39.3 Operazioni di I/O di stringhe 915
39.4 Le funzioni di assegnamento 916
39.5 Il concatenamento 918
39.6 Sottrazione di sottostringhe 920
39.7 Gli operatori relazionali 922
39.8 Funzioni varie 923
39.9 L’intera classe StrType 924
39.10 Uso della classe StrType 933
39.11 Creazione e integrazione di nuovi tipi 935
39.12 Un esercizio 935

Capitolo 40 Parser di espressioni 937
40.1 Le espressioni 938
40.2 L’elaborazione delle espressioni: il problema 939
40.3 L’analisi di un’espressione 940
40.4 La classe parser 941
40.5 Sezionamento di un’espressione 942
40.6 Un semplice parser di espressioni 945
40.7 Aggiunta delle variabili 951
40.8 Controllo della sintassi in un parser a discesa ricorsiva 961
40.9 Realizzazione di un parser generico 962
40.10 Alcune estensioni da provare 969

Appendice A Le estensioni per il framework .NET 971
A.1 Le parole chiave aggiunte dal framework .NET 972
A.2 Estensioni del preprocessore 974
A.3 L’attributo attribute 975
A.4 Compilazione di codice C++ gestito 975

Appendice B Il linguaggio C++ e i robot 977
Indice analitico 981



MIGLIORA COSTANTEMENTE

Riceverai una sola volta al mese (no spam!) tutti i nuovi manuali e guide pubblicati !
La tua email:


Manuali gratis di C++