Le basi del C++

Linguaggio C++ Identificatori Variabili e costanti simboliche Variabili Tipi fondamentali Tipo char Tipo int Tipi short, long e long long Tipo unsigned Tipi reali Costanti letterali Costanti carattere Sequenze di escape Costanti stringa Spazi bianchi Costanti booleane Costanti numeriche intere Costanti numeriche reali Costanti simboliche Espressioni operandi e operatori Prioritą degli operatori Operatori aritmetici Operatori d incremento e decremento unitario Operatori sui bit Operatori di assegnazione Operatori di assegnazione composti Conversioni di tipo Conversioni implicite Conversioni esplicite Stream Stream di ingresso Stream di uscita Commenti

Istruzioni in C++

Istruzioni composte Operatori relazionali e logici Istruzione condizionale if Istruzione condizionale switch Operatore ternario condizionale Istruzione iterativa while Istruzione iterativa do-while Istruzione iterativa for Operatore virgola Istruzione di salto break Istruzione di salto continue Istruzione di salto goto

Funzioni in C++

Concetto di funzione Definizione,dichiarazione e chiamata Istruzione return Definizione di funzione prototipo di funzione Parametri e variabili locali Chiamata della funzione Mcd() Funzioni void Funzioni ricorsive Funzioni di libreria Alcune funzioni della libreria standard Visibilitą (scope) e durata (lifetime) Visibilitą di una variabile Specificatore static Dichiarazione e definizione Specificatore extern Programmazione modulare

Tipi aggregati

Vettori (array) Operazioni sui vettori Stringhe Input e output di stringhe Matrici Vettori di stringhe Funzioni con vettori come parametri Passaggio di vettori a funzioni Funzioni standard con stringhe Tipi enumerativi Esempi di enumerazioni Strutture Assegnazione di strutture Assegnazione di vettori tramite struct Unioni

Puntatori in C++

Riferimenti (reference) Puntatori Operatore di dereferenziazione * Esempio di utilizzo dei puntatori Memoria e puntatori Puntatori a costanti e puntatori costanti Passaggio di argomenti a funzioni Passaggio di argomenti per riferimento Vantaggi e svantaggi del riferimento Aritmetica dei puntatori Vettori e puntatori Funzione con vettori come parametri Funzioni che restituiscono vettori Passaggio di strutture a funzioni Funzioni che ritornano strutture

Files in C++

Files e stream in C++ Apertura di un file Modalitą di apertura di un file Modalitą di accesso ai files Chiusura di un file Files di testo Files binari Accesso a files di testo Errori di lettura Accesso a files binari Verifica della fine del file Accessi sequenziali Accessi random

Strutture di dati dinamiche

Allocazione dinamica della memoria Operatore new Operatore delete Memory leak Vettori dinamici Controllo della corretta allocazione Strutture di dati dinamiche Liste a legame unico Liste a doppio legame Stack e code Alberi binari Grafi

Classi

Classi Dichiarazione di oggetti Dichiarazione dinamica di oggetti Definizione di member function Costruttori Distruttori Costruttore copia Overloading degli operatori Puntatore this Funzioni e classi friend Membri static Oggetti e membri const

Template ed STL

Funzioni template Classi template Container vector Container list Container map Iteratori Algoritmi find Algoritmo replace Algoritmo copy Algoritmo sort

Ereditarietą e polimorfismo

Classi derivate Visibilitą delle classi derivate Costruttori nelle classi derivate Distruttori nelle classi derivate Polimorfismo e funzioni virtuali Polimorfismo e puntatori Late binding Classi astratte Ereditarietą multipla Classi composte