Passer au contenu principal
eLearner.app
Module 4 · Leçon 1 sur 29/18 dans le cours~12 min
Leçons du module (1/2)

Classes et Objets

La programmation orientée objet (POO) est l'un des paradigmes fondamentaux du C++. Elle permet de regrouper des données et des fonctions au sein d'entités uniques appelées classes.

Une classe sert de modèle (blueprint), tandis qu'un objet est une instance concrète de cette classe.

Syntaxe de base pour une class

En C++, on utilise le mot-clé class. Contrairement à d'autres langages, en C++, les classes se terminent obligatoirement par un point-virgule ; :

Code
#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;
}

Spécificateurs d'accès : public et private

L'encapsulation consiste à masquer les détails d'implémentation interne d'un objet, en n'exposant qu'une interface contrôlée.

C++ gère ce contrôle via des spécificateurs d'accès :

  • private : membres accessibles uniquement à l'intérieur des fonctions membres de la classe elle-même.
  • public : membres accessibles depuis n'importe quelle partie du programme externe qui instancie l'objet.

À vous de jouer

Exercice#cpp.m4.l1.e1
Tentatives : 0Chargement…

Définissez une classe Rectangle avec deux membres privés entiers width et height. Ajoutez une méthode publique void setDimensions(int w, int h) pour les définir et une méthode int getArea() qui renvoie l'aire (width * height). Dans le main, créez un rectangle, définissez ses dimensions sur 5 et 4, et affichez son aire.

Chargement de l'éditeur…
Afficher l'indice

Utilisez les spécificateurs d'accès `private:`et`public:`. N'oubliez pas de terminer la classe par un point-virgule `;` après l'accolade fermante.

Solution disponible après 3 tentatives

Exercice#cpp.m4.l1.e2
Tentatives : 0Chargement…

Définissez une classe Counter avec un membre privé count initialisé à 0. Ajoutez les méthodes publiques void increment() et int getCount(). Dans le main, créez un objet Counter, incrémentez-le deux fois et affichez la valeur obtenue.

Chargement de l'éditeur…
Afficher l'indice

En C++ moderne, vous pouvez initialiser les membres de données directement dans la classe : `int count = 0;`.

Solution disponible après 3 tentatives