Questo repository contiene una collezione di progetti in C++ focalizzati sulle classi e sui concetti di programmazione orientata agli oggetti. Ogni progetto è progettato per aiutarti a comprendere e praticare vari aspetti delle classi in C++.
-
Creazione di Classi di Base: Implementare una semplice classe rettangolo con funzioni membro per il calcolo dell'area e del perimetro.
-
Sovraccarico dei Costruttori: Estendere la classe rettangolo per includere diversi costruttori per l'inizializzazione delle dimensioni.
-
Incapsulamento: Creare una classe dipendente che dimostri l'incapsulamento delle variabili membro private.
-
Ereditarietà: Implementare una classe di base e derivare classi rettangolo, cerchio e triangolo per calcolare le loro aree.
-
Polimorfismo: Dimostrare il polimorfismo a tempo di esecuzione memorizzando diverse forme in un array di forme e calcolando le loro aree.
-
Sovraccarico degli Operatori: Sovraccaricare l'operatore + per aggiungere due oggetti rettangolo.
-
Costruttore di Copia e Operatore di Assegnazione: Implementare la copia corretta e l'assegnazione degli oggetti rettangolo.
-
Distruttore: Aggiungere un distruttore per rilasciare le risorse utilizzate dagli oggetti rettangolo.
-
Funzioni Amichevoli: Implementare una funzione amica per calcolare la lunghezza diagonale di un rettangolo.
-
Membri Statici: Utilizzare variabili membro statiche per contare il numero di oggetti rettangolo creati.
Per iniziare con uno qualsiasi dei progetti, naviga semplicemente nella directory del progetto corrispondente ed esplora i file del codice sorgente. Ogni directory del progetto contiene un file README.md con istruzioni specifiche e dettagli sul progetto.
Sentiti libero di clonare o fare il fork di questo repository per esplorare, modificare ed ampliare i progetti. Puoi anche contribuire con progetti aggiuntivi o miglioramenti creando delle richieste pull.
I contributi sono benvenuti! Se hai idee per nuovi progetti, miglioramenti o correzioni di bug, per favore apri una issue o invia una richiesta pull con le tue modifiche.
Questo repository è sotto licenza MIT. Vedi il file LICENSE per i dettagli.