Programmazione in C++

Netisis
A Genova

Chiedi il prezzo
Vuoi parlare del corso con un consulente?
Confronta questo corso con altri simili
Leggi tutto

Informazione importanti

  • Corso
  • Genova
  • Durata:
    5 Giorni
Descrizione

Obiettivo del corso: Il corso, dopo aver introdotto i concetti principali alla base della programmazione orientata a oggetti e i diagrammi UML (Unified Modeling Language) utilizzati durante la fase di progettazione, illustra metodologicamente come implementare gli oggetti attivi, passivi e persisitenti, come implementare le relazioni (generalizzazione, associazione, aggregazione, composizione, ecc..) fra gli oggetti e come ottimizzare e rendere robusti i programmi in C++.
Rivolto a: Il corso è rivolto a sviluppatori interessati a approfondire le proprie conoscenze del linguaggio C++.

Informazione importanti
Sedi

Dove e quando

Inizio Luogo
Consultare
Genova
via Greto di Cornigliano 6R, Genova, Italia
Visualizza mappa

Domande più frequenti

· Requisiti

E' consigliata la familiarità con il linguaggio C o il Pascal.

Programma

Le tematiche da noi trattate comprendono tutti i principali aspetti dell'Information Technology, spaziando dal networking, ai sistemi operativi ed allo sviluppo software.

Particolare importanza è riservata alle problematiche di internetworking ed ad aspetti quali security e network management, indispensabili al crescere delle dimensioni della rete stessa.
Le metodologie adottate per lo svolgimento dei corsi sono di tipo attivo, integrando parti teoriche con un esauriente supporto tecnico-pratico in aule appositamente attrezzate.

La nostra organizzazione è costituita da una equipe di docenti esperti non solo nelle loro discipline, ma anche nelle tecniche di formazione e gestione dell'aula, al fine di poter assicurare un alto standard di qualità.

Tutte le esercitazioni vengono svolte utilizzando il compilatore GNU G++ in un ambiente grafico distribuito con interfaccia grafica X11 su sistema operativo UNIX.

Programma del corso

Introduzione agli oggetti

  • Il progresso dell'astrazione
  • Gli oggetti e le loro interfacce
  • Nascondere l'implementazione
  • Riutilizzare l'implementazione
  • Ereditarietà
  • Oggetti intercambiabili grazie al polimorfismo
  • Creazione e distruzione degli oggetti
  • Gestione delle eccezioni
  • Analisi e design
  • Perchè il C++ è il meglio
  • Strategie di transizione

Fare e usare gli oggetti

  • Il processo di traduzione del linguaggio
  • Tools per la compilazione separata
  • Il primo programma in C++
  • Qualcosa in più sugli iostream
  • Introduzione alle stringhe
  • Leggere e scrivere files
  • Introduzione al template vector

Il C nel C++

  • Creazione di funzioni
  • Creazione di librerie
  • Controllo dell'esecuzione
  • Introduzione agli operatori
  • Introduzione ai tipi dati
  • Scoping
  • Specificare l'allocazione di memoria
  • Gli operatori e il loro uso
  • Creazione di un tipo composto
  • Tecniche di debug

Astrazione dati

  • Una piccola libreria in stile C
  • Cosa non va?
  • L'oggetto base
  • Cosa è un oggetto?
  • Tipi di dati astratti
  • Dettagli sugli oggetti
  • Etichetta di costruzione degli header files
  • Strutture innestate

Nascondere l'implementazione

  • Definire i limiti
  • Il controllo di accesso in C++
  • Friends
  • Organizzazione di un oggetto
  • La classe
  • Controllare le classi

Inizializzazione e cleanup

  • Inizializzazione garantita grazie ai costruttori
  • Cleanup garantito con i distruttori
  • Eliminazione del blocco di definizione
  • Inizializzazione aggregata
  • Costruttori di default

Funzione di overload e argomenti di default

  • Maggior name decoration
  • Un esempio di overload
  • Argomenti di default
  • Unioni

Costanti

  • Sostituzione dei valori
  • Puntatori
  • Argomenti delle funzioni e valori di ritorno
  • Classi
  • Volatile

Funzioni inline

  • Caratteristiche del preprocessore
  • Funzioni inline
  • Gli inline e il compilatore
  • Forward referencing
  • Ulteriori caratteristiche del preprocessore

Controllo dei nomi

  • Elementi statici nel C
  • Membri statici in C++
  • Dipendenza dell'inizializzazione statica
  • Specifiche di linkage alternato

Riferimenti e costruttori copia

  • I puntatori in C++
  • Il costruttore copia
  • Puntatori a membri

Overload operatori

  • Sintassi
  • Operatori sovraccaricabili
  • Operatori non membri
  • Sovraccaricare l'assegnazione
  • Conversione automatica del tipo

Creazione di oggetti dinamici

  • Creazione di un oggetto
  • Ristrutturazione dei vecchi esempi
  • New e Delete per gli array
  • Finire la memoria
  • Overload di New e Delete

Ereditarietà e composizione

  • Sintassi della composizione
  • Sintassi dell'ereditarietà
  • La lista dell'inizializzazione del costruttore
  • Combinare composizione ed ereditarietà
  • Funzioni che non ereditano automaticamente
  • Protected
  • Ereditarietà multipla
  • Sviluppo incrementale
  • Upcasting

Polimorfismo e funzioni virtuali

  • Evoluzione dei programmi in C++
  • Upcasting
  • Funzioni virtuali
  • Implementazione del late binding
  • Perchè le funzioni virtuali?
  • Classi astratte base e le funzioni virtuali pure
  • Ereditarietà e la VTABLE
  • Funzioni virtuali e costruttori
  • Distruttori e distruttori virtuali

Introduzione ai Templates

  • Contenitori e iteratori
  • Introduzione ai template
  • Sintassi dei template
  • Polimorfismo e contenitori.

Confronta questo corso con altri simili
Leggi tutto