La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione X Laboratorio di Programmazione. Struttura di un programma Definizione classe e specifica (parziale) classe.hclasse.cpp main.cpp Specifica metodi.

Presentazioni simili


Presentazione sul tema: "Lezione X Laboratorio di Programmazione. Struttura di un programma Definizione classe e specifica (parziale) classe.hclasse.cpp main.cpp Specifica metodi."— Transcript della presentazione:

1 Lezione X Laboratorio di Programmazione

2 Struttura di un programma Definizione classe e specifica (parziale) classe.hclasse.cpp main.cpp Specifica metodi mancanti in classe.h usando op. di scope resolution :: Include “classe.h”

3 Struttura di un programma (2) //file class.cpp #include “class.h” void c::prova() { //corpo funzione } //file class.h class c { public: void prova(); } //file main.cpp #include “class.h” void main() { c oggetto; oggetto.prova(); }

4 Il makefile Per la gestione di un progetto su piu’ files e’ possibile creare un makefile, contenente l’elenco delle dipendenze dei files e delle azioni per compilare e linkare i componenti. Class.h Class.cpp Main.cpp

5 Il makefile Etichetta Class.h Class.cpp Main.cpp all: main.o class.o g++ -o execName class.o main.o main.o : main.cpp g++ -c main.cpp class.o : class.cpp g++ -c class.cpp Files dipendenti da etichetta Cosa fare se bisogna aggiornare l’etichetta

6 Il makefile Class.h Class.cpp Main.cpp all: main.o class.o g++ -o execName class.o main.o main.o : main.cpp g++ -c main.cpp class.o : class.cpp g++ -c class.cpp All e’ il default quando si ricompila tutto il progetto All main.o class.o main.cppclass.cpp

7 Come usare make Il programma “make” prende in pasto un makefile ed esegue le compilazioni specificate. Uso (da riga di comando): make make all // all e’ l’etichetta di default make etichetta // si ricompila solo il sottoinsieme dipendente // da etichetta. Il make controlla se i files cpp e h sono stati aggiornati e ricompilare solo le parti di programma modificate.

8 Un po’ di strutture dati Oggi parliamo delle pile (stack in inglese) Mnemonico: pila di piatti Una pila e’ un insieme ordinato di oggetti dello stesso tipo su cui e’ possibile eseguire le seguenti operazioni: Push: inserimento in testa di un oggetto Pop: prelevamento dell’oggetto in testa Empty: flag che indica se la pila e’ vuota A C B Push D A C B D A C B C B Pop

9 La classe pila di interi La classe pila, dunque deve possedere almeno i 3 metodi: Push, Pop, Empty. Per implementare gli elementi ricorriamo ad un array, dove un indice top descrive l’elemento in testa: class pila { private: int* A; int top; public: int Pop( ); void Push ( int e); int Empty; };

10 La classe pila di oggetti Introduciamo i templates per descrivere una generica pila di oggetti della classe T: template class pila { private: T* A; int top; public: T Pop( ); void Push ( T e); int Empty; };

11 Come usare i templates template class pila { … }; // specificare un metodo con l’operatore :: template T pila :: Pop( ) { … } // e’ necessario specificare il tipo di pila // istanziare una pila pila P1; pila P2;

12 Programma del giorno Scrivere un programma che, utilizzando una pila di char, sia in grado di dire se in un file di testo la sequenza di parentesi tonde ( ad es. una espressione aritmetica) risulta bilanciata e coerente: (1+(2*3) Caso errato (1+(2*3)) Caso corretto (1+(2*3))) Caso errato


Scaricare ppt "Lezione X Laboratorio di Programmazione. Struttura di un programma Definizione classe e specifica (parziale) classe.hclasse.cpp main.cpp Specifica metodi."

Presentazioni simili


Annunci Google