C++ – Dalla struttura alla classe libro

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

Viene presentato, di seguito, il file c_libro nel quale è implementata, estendendola rispetto alla presentazione contenuta in un precedente paragrafo, la classe libro per la gestione dei prestiti in una biblioteca: …l’articolo continua »

C++ – Progetto e uso di una classe step by step. Costruttori

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

Applicare la OOP alla risoluzione di un determinato problema vuol dire innanzi tutto individuare le classi interessate (quali sono i dati) e i metodi che devono avere (che operazioni si richiedono sui dati). Utilizzando una similitudine si può pensare al problema da risolvere come ad una piece teatrale: ci sono dei personaggi, ognuno con le proprie caratteristiche e comportamenti, che interagiscono fra loro. Il problema da risolvere è la piece da recitare, i personaggi (tratteggiati ognuno dalle proprie caratteristiche) sono le classi e sono interpretati da attori (le istanze della classe: gli oggetti) che, per il fatto di interpretare determinati personaggi, sanno cosa fare e come comportarsi perché ciò fa parte dell’interpretazione di quel determinato personaggio.

Viene ora riproposto, come primo esempio, il programma per conoscere il totale della fattura di cui siano date le righe che la compongono, ognuna individuata da una determinata quantità e dal prezzo unitario dell’oggetto venduto. Questa volta il problema viene affrontato utilizzando il paradigma OOP. …l’articolo continua »

C++ – Estensione delle strutture: le classi

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

I membri di una struttura possono anche essere funzioni oltre che dati. Per una biblioteca che effettua operazioni di prestito ai soci, un libro, per esempio, non è solo un insieme di attributi ma anche una cosa che può essere prestata: …l’articolo continua »

C++ – Tabelle: vettori di strutture

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

Una tabella è costituita da una successione di elementi detti record costituiti da due o più campi, il primo è chiamato chiave e distingue un record da un altro. Anche un vettore di tipi elementari, per esempio di int, può definirsi tabella, ma nella realtà delle applicazioni informatiche è comune trovare vettori contenenti strutture.

Sulle tabelle sono comuni due tipi di algoritmi: la ricerca (data una tabella, cercare la chiave associata ad un determinato record), la selezione (data una tabella, costruirne una nuova che contiene i record della prima tabella che soddisfano a determinati requisiti).

Il primo programma proposto (esempio di ricerca), data una tabella contenete i dipendenti di una azienda, cerca se una persona, di cui vengono forniti cognome e nome, è un dipendente dell’azienda e, in questo caso, visualizza i suoi dati: …l’articolo continua »

C++ – Le strutture

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

Una struttura è un insieme di variabili di uno o più tipi, raggruppate da un nome in comune. Anche i vettori sono collezioni di variabili come le strutture, solo che un vettore può contenere solo variabili dello stesso tipo, mentre le variabili contenute in una struttura non devono essere necessariamente dello stesso tipo.

Le strutture del linguaggio C++ coincidono con quelli che in Informatica sono comunemente definiti record. Il raggruppamento sotto un nome comune permette di rappresentare, tramite le strutture, entità logiche in cui le variabili comprese nella struttura rappresentano gli attributi di tali entità. …l’articolo continua »

C++ – Il metodo top-down: un esempio step by step

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

Applicare il metodo top-down alla risoluzione di un problema vuol dire risolvere il problema, in una primo approccio, come se il linguaggio utilizzato mettesse a disposizione istruzioni di alto livello che riescono a svolgere una parte del problema e, successivamente, passare ad occuparsi della risoluzione delle singole parti.

Come applicazione viene proposto un esempio di selezione: dato un vettore di interi non nulli, si vuole generare il sottoinsieme dei pari. …l’articolo continua »

C++ – Funzioni e parametri: un esempio pratico

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

Nel linguaggio C++ tutti i parametri sono passati alle funzioni per valore, e ciò allo scopo di isolare quanto più possibile la funzione e renderla riutilizzabile. Per passare alla funzione un parametro per riferimento è necessario utilizzare il simbolo & attaccato alla fine della dichiarazione di tipo della variabile o all’inizio del nome della variabile stessa.

La funzione, nella sua definizione, preparerà variabili locali per ricevere i parametri passati dal chiamante. Nel caso di passaggio per indirizzo, ogni variazione effettuata dalla funzione sul contenuto della variabile locale si ripercuoterà sulla variabile corrispondente del chiamante.

I parametri passati dal chiamante sono comunemente chiamati argomenti o parametri reali, mentre quelli presenti nella definizione della funzione sono chiamati parametri formali.

A questo punto viene proposta la codifica del programma sulle elaborazioni statistiche di temperature. …l’articolo continua »

C++ – Le funzioni. Istruzione return

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

Nel linguaggio C++ tutti i sotto-programmi sono funzioni. Per poter simulare le procedure che non ritornano alcun valore è disponibile il tipo void. Il tipo void o tipo indefinito è utilizzato dal C++ tutte le volte che il valore di ritorno di una funzione non deve essere preso in considerazione. In pratica nel linguaggio C++ le procedure sono funzioni che restituiscono un void.

La costruzione e l’uso di una funzione, può essere schematizzata in tre fasi: …l’articolo continua »

C++ – Tipi di sottoprogrammi

Scritto da Gianjey | 17 ottobre, 2010

cplusplus

Nei paragrafi precedenti si è parlato di sottoprogrammi in modo generico perché si volevano evidenziare le proprietà comuni. In genere si fa distinzione fra due tipi di sottoprogrammi:

  • Le funzioni. Sono sottoprogrammi che restituiscono al programma chiamante un valore. La chiamata ad una funzione produce, al ritorno quando questa ultima ha completato le sue elaborazioni, un valore che potrà essere assegnato ad una variabile. Le funzioni vengono utilizzate principalmente a destra del segno di assegnamento essendo, sostanzialmente, sostituite da un valore.
  • Le procedure. Sono sottoprogrammi che non restituiscono alcun valore; si occupano di una fase della elaborazione …l’articolo continua »

C++ – Visibilità e namespace

Scritto da Gianjey | 17 ottobre, 2010

cplusplusL’applicazione del paradigma funzionale porta a costruire delle librerie contenenti funzioni che si occupano delle elaborazioni riguardanti famiglie di problemi. Le librerie espandono le potenzialità del linguaggio: agli strumenti resi disponibili dal linguaggio standard, si possono aggiungere tutte le funzionalità che servono per agevolare la risoluzione di un determinato problema. Basta includere, nel programma la libreria che si intende utilizzare.

A parte una visione più dettagliata di quanto detto, che verrà fornita nei prossimi paragrafi, è un procedimento che si è adottato fin dalla scrittura del primo programma, quando si è dichiarata la volontà di utilizzare le funzioni, per esempio, della iostream.

L’utilizzo di più librerie può portare ad ambiguità se, per esempio, esistono nomi uguali in più librerie. C++, per risolvere problemi di questo genere, rende disponibili i namespace, che delimitano la visibilità dei nomi in essi dichiarati. …l’articolo continua »