Manuali Scontati

Manuali Scontati

Manuali Gratis > Programmazione > C++

Manuale Fondamenti di C++ - seconda edizione

Editore: Mc Graw Hill
Pagine: 524
Autore: Schildt Herbert
Collana: Fondamenti di

Acquistalo a prezzo scontato:
Manuali Scontati
Data Pubblicazione: 2004-04-01
ISBN: 8838643849
Prezzo: 29.00 €
Lingua: Italiano

Quarta di copertina

Herbert Schildt, uno dei piu' importanti autori di libri di programmazione, ha aggiornato il suo best-seller per l’apprendimento del C++, il linguaggio maggiormente utilizzato per la realizzazione di software ad alte prestazioni. Ora e' ancora piu' facile imparare questo potente linguaggio. Attraverso esempi e lezioni facili da seguire, Schildt insegna tutti i concetti fondamentali del C++, come le istruzioni di controllo, i tipi di dati, gli array, le stringhe, le classi, gli oggetti e le funzioni, per passare poi ad argomenti come l’overload, la gestione delle eccezioni, l’ereditarieta', le funzioni virtuali, il polimorfismo e l’I/O. Vengono inoltre prese in esame alcune caratteristiche avanzate, come i template. Grazie a questa autorevole guida sara' possibile iniziare immediatamente a programmare in C++.

I volumi della collana Fondamenti di sono strutturati per un facile apprendimento:

  • Moduli - Ogni argomento e' suddiviso in moduli organizzati in modo logico e coerente, ideali per l'auto-apprendimento.
  • Esercitazione flash - Le rapide sezioni di auto-verifica permettono di verificare i propri progressi.
  • Verifica finale - Al termine di ogni modulo si verificano le conoscenze acquisite tramite domande a risposta breve, a risposta multipla e a completamento.
  • Domande all'esperto - Le sezioni "domanda e risposta" ampiamente diffuse nel libro, forniscono informazioni aggiuntive addizionali e utili suggerimenti.
  • Progetti - Gli esercizi pratici dimostrano come applicare le competenze acquisite.
  • Sintassi commentata - I codici di esempio sono correlati da commenti che descrivono le tecniche di programmazioni illustrate.
Herbert Schildt e' il piu' importante autore di libri di programmazione al mondo, con piu' di tre milioni di copie vendute all’attivo.



Indice

Indice

Introduzione

1 Elementi fondamentali del C++
Una breve storia del C++
C: l’inizio dell’eta' moderna della programmazione
Quali necessita' soddisfa il C++
La nascita del C++
L’evoluzione del C++
Rapporto tra il C++ e i linguaggi Java e C#
Programmazione a oggetti
Incapsulamento
Polimorfismo
Ereditarieta'
Un primo semplice programma
Inserimento del programma
Compilazione del programma
Esecuzione del programma
Analisi linea per linea del primo programma
Gestione degli errori di sintassi
Un secondo semplice programma
Uso di un operatore
Lettura dell’input dalla tastiera
Alcune opzioni di output
Un altro tipo di dato
Progetto 1-1 Conversione di piedi in metri
Passo dopo passo
Due istruzioni di controllo
L’istruzione if
Il ciclo for
Uso dei blocchi di codice
Punti e virgola e posizionamento
Regole per l’indentazione
Progetto 1-2 Generazione di una tabella di conversioni di piedi in metri
Passo dopo passo
Introduzione alle funzioni
Le librerie del C++
Parole chiave del C++
Identificatori
Modulo 1 - Verifica

2 Introduzione a tipi di dati e operatori
Importanza dei tipi di dati
Tipi di dati del C++
Interi
Caratteri
Tipi in virgola mobile
Il tipo bool
void
Progetto 2-1 Comunicare con Marte
Passo dopo passo
Costanti
Costanti esadecimali e ottali
Costanti stringa
Sequenze di escape per i caratteri
Un’analisi piu' dettagliata delle variabili
Inizializzazione di una variabile
Inizializzazione dinamica
Operatori
Operatori aritmetici
Incremento e decremento
Operatori logici e relazionali
Progetto 2-2 Costruzione di un’operazione logica XOR
Passo dopo passo
L’operatore di assegnamento
Assegnamenti composti
Conversione di tipo negli assegnamenti
Espressioni
Conversione di tipo nelle espressioni
Cast
Spazi e parentesi
Progetto 2-3 Calcolo delle rate di un prestito
Passo dopo passo
Modulo 2 – Verifica

3 Istruzioni di controllo
L’istruzione if
L’espressione condizionale
if annidati
La “scala” if-else-if
L’istruzione switch
Istruzioni switch annidate
Progetto 3-1 Inizio di realizzazione di un sistema
di guida in linea sul C++
Passo dopo passo
Il ciclo for
Alcune varianti del ciclo for
Parti mancanti
Il ciclo for infinito
Cicli senza corpo
Dichiarazione delle variabili di controllo del ciclo
all’interno del ciclo for
Il ciclo while
Il ciclo do-while
Progetto 3-2 Miglioramento del sistema di guida in linea sul C++
Passo dopo passo
Uso di break per uscire da un ciclo
Uso di continue
Progetto 3-3 Versione finale del sistema di guida in linea sul C++
Passo dopo passo
Cicli annidati
Uso dell’istruzione goto
Modulo 3 – Verifica

4 Array, stringhe e puntatori
Array a una dimensione
Assenza di controllo dei limiti degli array
Array a due dimensioni
Array a piu' dimensioni
Progetto 4-1 Ordinamento di un array
Passo dopo passo
Stringhe
Elementi fondamentali delle stringhe
Lettura di una stringa dalla tastiera
Funzioni di libreria per il trattamento delle stringhe
strcpy
strcat
strcmp
strlen
Esempio di uso delle funzioni per le stringhe
Uso del terminatore NULL
Inizializzazione di array
Inizializzazione di array privi di limiti
Array di stringhe
Puntatori
Cosa sono i puntatori?
Gli operatori sui puntatori
L’importanza del tipo base di un puntatore
Assegnamento di valori attraverso un puntatore
Espressioni con puntatori
Aritmetica con i puntatori
Confronto di puntatori
Puntatori e array
Indicizzazione di un puntatore
Costanti stringa
Progetto 4-2 Inversione di una stringa in loco
Passo dopo passo
Array di puntatori
La convenzione del puntatore NULL
Indirezione multipla
Modulo 4 – Verifica

5 Introduzione alle funzioni
Elementi fondamentali delle funzioni
Forma generale di una funzione
Creazione di una funzione
Uso degli argomenti
Uso di return
Valori restituiti
Uso delle funzioni nelle espressioni
Regole di ambito
Ambito locale
Ambito globale
Passaggio di puntatori e array alle funzioni
Passaggio di un puntatore
Passaggio di un array
Passaggio di stringhe
Restituzione di puntatori
La funzione main()
Passaggio di argomenti sulla linea di comando a main( )
Passaggio di argomenti numerici sulla linea di comando
Prototipi di funzioni
Le intestazioni contengono prototipi
Ricorsione
Progetto 5-1 L’algoritmo Quicksort
Passo dopo passo
Modulo 5 – Verifica

6 Un’analisi piu' dettagliata delle funzioni
Due approcci al passaggio degli argomenti
Il passaggio di argomenti in C++
Uso di un puntatore per ottenere una chiamata per reference
Parametri reference
Restituzione di reference
Reference indipendenti
Alcune restrizioni per l’uso dei reference
Overload di funzioni
Conversioni automatiche di tipo e overload
Progetto 6-1 Creazione di funzioni di output soggette a overload
Passo dopo passo
Argomenti di default delle funzioni
Argomenti di default oppure overload?
Uso corretto degli argomenti di default
Overload di funzioni e ambiguita'
Modulo 6 – Verifica

7 Altri tipi di dati e operatori
I qualificatori const e volatile
const
volatile
Specificatori di classi di memoria
auto
extern
Variabili static
Variabili register
Enumerazioni
typedef
Operatori bit-a-bit
AND, OR, XOR e NOT
Gli operatori di shift
Progetto 7-1 Creazione di funzioni di rotazione bit-a-bit
Passo dopo passo
L’operatore ?
L’operatore virgola
Assegnamenti multipli
Assegnamento composto
Uso di sizeof
Sommario delle precedenze
Modulo 7 – Verifica

8 Classi e oggetti
Elementi fondamentali di una classe
Forma generale di una classe
Definizione di una classe e creazione di oggetti
Aggiunta di funzioni membro
a una classe
Progetto 8-1 Creazione di una classe Help
Passo dopo passo
Costruttori e distruttori
Costruttori parametrizzati
Aggiunta di un costruttore alla classe Vehicle
Un’alternativa di inizializzazione
Funzioni in linea
Dichiarazione di funzioni in linea
all’interno di una classe
Progetto 8-2 Creazione di una classe Queue
Passo dopo passo
Array di oggetti
Inizializzazione di array di oggetti
Puntatori a oggetti
Reference a oggetti
Modulo 8 – Verifica

9 Descrizione approfondita delle classi
Overload delle funzioni costruttore
Assegnamento di oggetti
Passaggio di oggetti a funzioni
Costruttori, distruttori e passaggio di oggetti
Passaggio di oggetti per reference
Un problema potenziale del passaggio di oggetti
Restituzione di oggetti
Creazione e utilizzo di un costruttore di copia
Funzioni friend
Strutture e union
Strutture
Union
La parola chiave this
Overload di operatori
Overload di operatori tramite funzioni membro
L’ordine e' importante
Uso delle funzioni membro per l’overload di operatori unari
Funzioni operatore non membro
Uso delle funzioni friend per l’overload di un operatore unario
Suggerimenti e limiti dell’overload di operatori
Progetto 9-1 Creazione di una classe Set
Passo dopo passo
Modulo 9 – Verifica

10 Ereditarieta', funzioni virtuali e polimorfismo
Elementi fondamentali dell’ereditarieta'
Accesso ai membri ed ereditarieta'
Controllo dell’accesso alla classe base
Uso dei membri protected
Costruttori ed ereditarieta'
Chiamata di costruttori della classe base
Progetto 10-1 Ampliamento della classe Vehicle
Passo dopo passo
Creazione di una gerarchia a piu' livelli
Ereditarieta' da piu' di una classe base
Quando avviene l’esecuzione delle funzioni costruttore e distruttore
Puntatori a tipi derivati
Reference a tipi derivati
Funzioni virtuali e polimorfismo
Elementi fondamentali delle funzioni virtuali
Le funzioni virtuali sono ereditate
Perche' esistono le funzioni virtuali?
Applicazione delle funzioni virtuali
Funzioni virtuali pure e classi astratte
Modulo 10 – Verifica

11 Il sistema di I/O del C++
Confronto tra il vecchio e il moderno sistema di I/O del C++
Gli stream del C++
Stream predefiniti del C++
Le classi di stream del C++
Overload degli operatori di I/O
Creazione di inseritori
Uso di funzioni friend per l’overload degli inseritori
Overload di estrattori
I/O formattato
Formattazione utilizzando le funzioni membro di ios
Uso dei manipolatori di I/O
Creazione di funzioni manipolatore personalizzate
I/O su file
Apertura e chiusura di un file
Lettura e scrittura di file di testo
I/O binario e non formattato
Lettura e scrittura di blocchi di dati
Altre funzioni di I/O
Altre versioni of get()
getline()
Rilevamento della fine del file
peek() e putback()
flush()
Progetto 11-1 Una utilita' per il confronto di file
Passo dopo passo
Accesso casuale
Verifica dello stato delle operazioni di I/O
Modulo 11 – Verifica

12 Eccezioni, template e altri elementi di programmazione avanzata
Gestione delle eccezioni
Elementi fondamentali di gestione delle eccezioni
Uso di piu' istruzioni catch
Catturare tutte le eccezioni
Specificazione delle eccezioni
lanciate da una funzione
Rilanciare un’eccezione
Template
Funzioni generiche
Una funzione con due tipi generici
Overload esplicito di una funzione generica
Classi generiche
Specializzazioni di classe esplicite
Progetto 12-1 Creazione di una classe Queue generica
Passo dopo passo
Allocazione dinamica
Inizializzazione della memoria allocata
Allocazione di array
Allocazione di oggetti
Namespace
Nozioni fondamentali sui namespace
using
I namespace senza nome
Il namespace std
Membri static di una classe
Variabili membro static
Funzioni membro static
Runtime Type Identification (RTTI)
Gli operatori di casting
dynamic_cast
const_cast
static_cast
reinterpret_cast
Per proseguire
Modulo 12 – Verifica

A Il preprocessore
#define
Macro-funzioni
#error
#include
Direttive di compilazione condizionali
#if, #else, #elif ed #endif
#ifdef e #ifndef
#undef
Uso di defined
#line
#pragma
Gli operatori del preprocessore # e ##
Nomi di macro predefiniti

B Uso di un compilatore non recente
Due semplici modifiche

Indice analitico



MIGLIORA COSTANTEMENTE

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


Manuali gratis di C++