Lezioni del modulo (1/2)
Classi e Oggetti
La Programmazione Orientata agli Oggetti (OOP) è uno dei paradigmi fondamentali del C++. Consente di raggruppare dati e funzioni in entità singole chiamate classi.
Una classe funge da blueprint (modello), mentre un oggetto è un'istanza concreta di quella classe.
Sintassi di base per una class
In C++, si utilizza la parola chiave class. A differenza di altri linguaggi, in C++ le classi terminano obbligatoriamente con un punto e virgola ;:
#include <iostream>
#include <string>
class Player {
// Di default, tutti i membri di una classe sono privati
private:
std::string name;
int score = 0;
public:
// Metodi pubblici per accedere o modificare i dati privati
void setName(std::string newName) {
name = newName;
}
void addScore(int points) {
score += points;
}
void display() {
std::cout << name << " ha " << score << " punti!" << std::endl;
}
};
int main() {
Player p; // Creazione di un oggetto di tipo Player
p.setName("Marco");
p.addScore(15);
p.display();
return 0;
}
Access Specifiers: public e private
L'incapsulamento consiste nel nascondere i dettagli di implementazione interna di un oggetto, esponendo solo un'interfaccia controllata.
C++ gestisce questo controllo tramite gli specificatori di accesso:
private: membri accessibili solo all'interno delle funzioni membro della classe stessa.public: membri accessibili da qualsiasi parte del programma esterno che istanzia l'oggetto.
Prova tu
Definisci una classe Rectangle con due membri privati interi width e height. Aggiungi un metodo pubblico void setDimensions(int w, int h) per impostarli e un metodo int getArea() che restituisce l'area (width * height). Nel main crea un rettangolo, imposta le dimensioni a 5 e 4, e stampane l'area.
Mostra suggerimento
Usa gli access specifier `private:`e`public:`. Ricorda di chiudere la classe con un punto e virgola `;` dopo la parentesi graffa.
Soluzione disponibile dopo 3 tentativi
Definisci una classe Counter con un membro privato count inizializzato a 0. Aggiungi i metodi pubblici void increment() e int getCount(). Nel main crea un oggetto Counter, incrementalo due volte e stampa il valore ottenuto.
Mostra suggerimento
In C++ moderno puoi inizializzare i membri dato direttamente in classe: `int count = 0;`.
Soluzione disponibile dopo 3 tentativi