Introduzione Le due componenti principali dei programmi


Riduce la dipendenza del codice di alto livello dalla rappresentazione dei dati Permette il riutilizzo del codice di alto livello



Scaricare 584 b.
Pagina2/9
13.12.2017
Dimensione del file584 b.
1   2   3   4   5   6   7   8   9

Riduce la dipendenza del codice di alto livello dalla rappresentazione dei dati Permette il riutilizzo del codice di alto livello

  • Nasconde i dettagli di implementazione Supporta tipi di dati astratti (vedere seguito  ...)



  • Sintassi: FORTRAN vs C/C++

    • Struttura del programma



    Il main program

    • Ogni programma in C++, per essere eseguibile, deve contenere una funzione main() da cui l’esecuzione comincerà

    • main() deve avere un tipo (decidere quale è compito del programmatore). Regola generale è che main() ritorni un intero, a significare il return code dell’applicazione



    I/O: lettura e scrittura

    • Non esiste nel C++ nativo. Si usa: iostream

      • Gli operatori << e >> sono usati per definire la direzione del flusso
      • cin, cout e cerr rappresentano lo standard input, output e error del programma


    Commenti

    • Esistono due tipi di commento in C++

      • inline:
      • multiline (come in C):
      • I due tipi possono essere usati indifferentemente, ma si raccomanda di usare l’inline (più semplice e meno ambiguo)


    Tipi predefiniti in C++

    • Sono definiti una serie di tipi numerici che permettono di rappresentare numeri interi, reali e caratteri

      • char (un solo byte) viene normalmente usato per rappresentare interi inferiori a 256
      • stringhe e numeri complessi sono implementati come tipi derivati


    Tipi predefiniti in C++ (2)



    Tipi predefiniti in C++ (3)



    Identificatori

    • Un identificatore è composto da uno o più caratteri

    • Il primo carattere deve essere una lettera o un underscore. Caratteri successivi possono essere lettere, numeri o underscore

    • Non c’ è un limite in lunghezza, anche se alcuni sistemi si limitano a considerare i primi 31 caratteri

    • Gli identificatori che iniziano con un doppio underscore o con un underscore e una lettera maiuscola sono riservati ad usi di sistema

    • C++ e` case sensitive!



    Keywords

    • Alcuni identificatori sono esplicitamente riservati al sistema (hanno un preciso significato in C++) e non possono essere usati



    const

    • La keyword const viene utilizzata per dichiarare un oggetto costante

    • In C le costanti vengono normalmente dichiarate usando il preprocessore

      • in questo caso N e` una costante senza tipo ed il preprocessore sostituisce N ovunque lo trovi nel programma, senza rispettare le regole di scope (da evitare)


    Dichiarazione

    • Le dichiarazioni associano un significato ad un identificatore

    • in C++ ogni cosa deve essere dichiarata per poter essere usata

    • Una dichiarazione è spesso anche una definizione. Per variabili semplici questo consiste nell’associare un valore alla variabile al momento della dichiarazione



    typedef

    • L’istruzione typedef viene utilizzata per creare un alias per tipi esistenti

    • typedef NON può essere usato per implementare nuovi tipi, ma solo per definire un alias



    Enumeratori

    • In C++ sono supportati tipi definiti dall’utente



    Scope

    • Le variabili possono essere dichiarate e definite quasi ovunque in un programma in C++

    • la visibilità (scope) di una variabile dipende da dove la variabile è stata dichiarata



    Scope (2)

    • Attenzione! La stessa variabile può essere ri-dichiarata (con visibilità diversa). Questo è da evitare (se possibile) per non rendere il programma oscuro e a rischio di errore!



    namespace

    • Funzioni e variabili definite a global scope sono visibili dappertutto in un programma in C++

      • Per evitare che funzioni diverse (definite in librerie diverse) con lo stesso nome possano interferire (name clash), C++ implementa il concetto di namespace, che introduce un ulteriore, più alto livello di scope


    namespace (2)

    • Per utilizzare variabili e funzioni racchiuse in un namespace si può:

      • o accedere all’intero namespace
      • oppure accedere alla singola variabile o funzione
      • oppure dichiarare la singola funzione




    1   2   3   4   5   6   7   8   9


    ©astratto.info 2017
    invia messaggio

        Pagina principale