Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Ereditarietà e Polimorfismo in C++: Concept e Diagrammi - Prof. Vittorini, Slide di Programmazione C

Come definire una nuova classe derivata, adattare una classe esistente, l'ereditarietà di funzioni membro e il polimorfismo in c++. Viene inoltre illustrato il concetto di ereditarietà tra oggetti e classi, con diagrammi per illustrazione. Il documento include esempi di ridefinizione di funzioni membro, up-casting e down-casting, regole per l'assegnazione e la gestione di eccezioni.

Tipologia: Slide

2022/2023

Caricato il 06/02/2024

gerry-lauro
gerry-lauro 🇮🇹

1 documento

1 / 624

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Corso di Programmazione I
Introduzione
Università di Napoli Federico II - Dip. di Ingegneria Elettrica e delle Tecnologie dell’Informazione
Corso di Laurea in Ingegneria Informatica
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Anteprima parziale del testo

Scarica Ereditarietà e Polimorfismo in C++: Concept e Diagrammi - Prof. Vittorini e più Slide in PDF di Programmazione C solo su Docsity!

Corso di Programmazione I

Introduzione

Università di Napoli Federico II - Dip. di Ingegneria Elettrica e delle Tecnologie dell’InformazioneCorso di Laurea in Ingegneria Informatica

Obiettivi^ ^ Obiettivo del corso di Programmazione 1 (9 CFU)è fornire competenze teoriche e pratiche di:^ ^ programmazione orientata agli oggetti^ ^ (alcune)

tecniche avanzate di programmazione

^ strutture dati fondamentaliLinguaggio di riferimento: C++Il corso si propone inoltre di fornire conoscenzedi base nell'ambito della progettazione delsoftware

Laboratorio^ ^ Parte del corso verrà svolto in laboratorio^ ^ Le attività di laboratorio comprendono losvolgimento (inizialmente guidato) di esercizi e^ l’applicazione dei concetti illustrati in aula^ ^ Il laboratorio si svolgerà secondo il calendario(provvisorio) di seguito specificato.

Laboratorio^ ^ Le lezioni di laboratorio fanno parte integrantedel corso.^ ^ Nei giorni in cui non si svolge il laboratorio lelezioni si tengono regolarmente in aula.^ ^ Potrà rendersi necessario organizzare due turniper consentire l’accesso alle lezioni a tutti gli^ ^ studenti frequentanti il corso.

Laboratorio: calendario JZ

^ Mercoledì dalle12.30 alle 16.30^ ^ 25 settembre^ ^ 30 ottobre^ ^ 13 novembre^ ^ 27 novembre^ ^ 11 dicembre Il calendario può subirevariazioni a fronte diindisponibilità dei laboratori

Libro di riferimento e approfondimenti^ ^ Testo di riferimento:^ H.M.Deitel, P.J.Deitel, “C++ How to program”, tenth edition(C++14), Pearson (in inglese)^ ^ Altri testi in alternativa:^ ^ B. Stroustrup, C++, Linguaggio, libreria standard, principi diprogrammazione,

quarta edizione

, Pearson

(nuovo, completo, aggiornato allo standard C++11,per chi ha basi

solide …) ^ H.M.Deitel, P.J.Deitel, “C++ Fondamenti di programmazione”,seconda edizione, Apogeo 2005 (datato ma in italiano)  Lucidi e altro materiale didattico

Prova di Esame ^ Prova al calcolatore (a tempo) ^ Prova orale ^ E’ necessario superare la prova al calcolatoreper accedere alla prova orale ^ Prenotazione: tramite Segrepass ^ Date di esame (si riferiscono alla prova alcalcolatore, la data della prova orale è fissata diconsegenza in base al numero degli studenti)

Date di Esame(prova al calcolatore)

Work in progress…..

^ La prova si svolge presso il laboratorio 2 adAgnano

Docenza^ ^ Docente: Valeria Vittorini^ ^ Ricevimento^ ^ quando:

lunedì dalle ore 15.00 alle 17. ^ dove:Presso gli studi al secondo piano ad Agnano durante ilprimo semestredopo presso il Dip. di Ingegneria Elettrica e delleTecnologie dell’Informazione (DIETI), Via Claudio 21(Palazzina 3/A, 4°

piano, stanza 4.16) ^ Telefono (presso il DIETI): 768 3847 ^ E-mail

:^ [email protected]

(scrivere dal

proprio account di posta elettronica istituzionale especificare il subject)

Unità strutturali di unprogramma ^ La struttura di un programma dipende dallinguaggio di programmazione ^ Unità componenti (possibili):^ ^ Blocco (innestati/non innestati)^ ^ Programma principale^ ^ Sottoprogramma (a struttura interna innestabili, astruttura esterna)^ ^ Modulo (unità di traduzione)

Struttura di un programma in C/C++ ^ Blocchi

innestati

^ Funzioni

a struttura esterna  Moduli: parti del programma completoche possono essere compilateautonomamente

Livello 1^ Livello 2^ livello3^ livello3 Livello 2

{ { { } { } } { } }

f1 f2 … Modulo A

g1 g2^ … Modulo B

Portata e visibilità di unavariabile  Nei linguaggi a blocchiinnestati lo

scope^ di una variabile è quello del blocco incui è dichiarata ed i suoi blocchi interni  La visibilità di una variabile può essere oscurata

da una variabile con lo stesso nomedefinita in un blocco piu’interno

*int main(int argc, char argv[]){ int A=3;cout << "\n blocco di livello 1, variabile A=" << A;{ cout << "\n blocco di livello 2, variabile A=" << A;{ int A=4;cout << "\n blocco di livello 3, variabile A=" << A;} } cout << "\n";system("PAUSE");return 0;}

Tempo di legame (binding) ^ Momento in cui ad un oggetto vieneeffettivamente associata una specificaproprietà/attributo, ad esempio lo spazio inmemoria, il nome, il tipo ^ Si distingue in genere tra:^ ^ Tempo di compilazione^ ^ Tempo di collegamento^ ^ Tempo di esecuzione