Obiettivo del corso: Questo corso è indirizzato a chi intenda utilizzare gli strumenti offerti dal linguaggio C++ per la programmazione orientata agli oggetti. Il corso introduce al linguaggio C++ come estensione procedurale del linguaggio C, per passare al concetto di classe ed addentrarsi negli argomenti più avanzati che caratterizzano la programmazione full object oriented.
Sedi e date
Luogo
Inizio del corso
Milano
Visualizza mappa
Via Fabio Filzi, 27, 20124
Inizio del corso
Consultare
Domande e risposte
Aggiungi la tua domanda
I nostri consulenti e altri utenti potranno risponderti
Stiamo controllando la tua domanda per verificare che sia conforme con gli standard di pubblicazione. A parte questo, abbiamo rilevato dalle tue risposte che potresti non essere in grado di immatricolarti a questa formazione. Questo potrebbe essere dovuto al titolo di studio che possiedi, al luogo in cui vivi, ecc. In ogni caso ti consigliamo di verificare contattando il centro di formazione.
Grazie mille!
Stiamo verificando la tua domanda. A breve sarà pubblicata
Preferisci essere contattato dal centro?
Opinioni
Hai seguito questo corso? Condividi la tua opinione
Materie
Linguaggio C
Programma
Descrizione
Questo corso è indirizzato a chi intenda utilizzare gli strumenti offerti dal linguaggio C++ per la programmazione orientata agli oggetti. Il corso introduce al linguaggio C++ come estensione procedurale del linguaggio C, per passare al concetto di classe ed addentrarsi negli argomenti più avanzati che caratterizzano la programmazione full object oriented.
Prerequisiti
Solida conoscenza del linguaggio C
Concetti di base sulla programmazione orientata agli oggetti
Obiettivi
Comprendere la collocazione del linguaggio C++ nel panorama offerto dai linguaggi di programmazione, con particolare riferimento al C
Capirne la potenza espressiva, soprattutto nell'ambito della programmazione OO
Acquisire gli elementi del C++ che estendono le potenzialità del C in ambito strettamente procedurale
Comprendere il concetto di classe
Acquisire gli strumenti offerti dal C++ per la programmazione orientata agli oggetti
Ottenere una panoramica sulle funzionalità offerte dalle librerie standard C++ e STL
Argomenti
Il C++ come estensione strettamente procedurale del C
Regole di visibilità dei nomi, operatore di scope resolution (::)
La gestione della memoria in un processo C++ (globals, code, stack, heap)
Funzioni con parametri di default
Overloading di funzioni globali
Nuova conservatività del qualificatore const
Nuove posizioni per le dichiarazioni di variabili
Funzioni globali inline
Le variabili reference, analogie e differenze con le variabili puntatore
Allocazione dinamica in C++: operatori new e delete
Allocazione di tipi fondamentali e di array di tipi fondamentali
Overloading e completa personalizzazione degli operatori globali new e delete
Le Classi
Dalla struttura C alla classe C++
Specificatori di accesso public e private
Data members
Member functions e loro overloading
Incapsulamento e protezione dei dati
Puntatori ad oggetti e a funzioni di oggetti
L'operatore di scope resolution nel contesto delle classi
Uso (implicito ed esplicito) del puntatore this
Costruttori e distruttori, ciclo di vita di un oggetto
Liste di inizializzazione nei costruttori
Uso di funzioni const per l'accesso a data members di sola lettura
Aggregazione: ordine di chiamata dei costruttori di un aggregato
Data members e member functions di tipo static
Classi con puntatori ad oggetti creati dinamicamente: problemi correlati e soluzioni grazie all'uso di opportuni costruttori e distruttori
Overloading dei costruttori e copy constructor
Funzioni e classi friend
Funzioni globali friend di classi
Classi friend di classi
Overloading di operatori
Notazione funzionale per gli operatori
Immutabilità delle precedenze, dell'associtività, impossibilità di introdurre nuovi operatori, operatori che non si possono sovraccaricare (::, .*, ?:)
Overloading di operatori in operazioni che coinvolgono istanze di classi
Overloading dell'operatore di assegnamento, anche nel caso di classi che implicano allocazione dinamica. Propagazione del risultato mediante il puntatore this
Overloading degli operatori new e delete specifici per classi
Conversioni di tipo in C++
Conversioni mediante costruttore
Conversioni mediante overloading di operatori
Conversioni mediante overloading dell'operatore di assegnamento
Conversioni mediante overloading dell'operatore cast
Ereditarietà e polimorfismo
Ereditarietà semplice
Uso dello specificatore di accesso protected
Conversioni di oggetti classe derivata -> oggetti classe base: considerazioni
Conversioni di puntatori ad oggetti classe derivata -> puntatori ad oggetti classe base
Meccanismi di hiding e di overriding
Funzioni virtuali e polimorfismo
Implementazione delle funzione virtuali: late binding mediante V-PTR a V-TABLE
Funzione virtuali pure, classi astratte, classi astratte pure (interfacce)
Ereditarietà multipla. Risoluzioni di conflitti dovuti ad anelli nel grafo della gerachia (ereditarietà per via virtuale)
Template
Cenni su funzioni template
Cenni su classi template
Cenni su STL
Gestione delle eccezioni in C++
Il costrutto try, throw e catch
Il gestore universale catch(...)
Gestione di eccezioni tramite lancio e raccolta di oggetti eccezione