Menu
Coddy logo textTech

Classes vs Objets

Fait partie de la section Programmation Orientée Objet du Journey C++ de Coddy — leçon 6 sur 104.

Une classe est un plan qui définit une structure. Un objet est une instance spécifique créée à partir de ce plan.

La classe (modèle)

class Car {
public:
    std::string brand;
    int year;
    
    std::string getInfo() {
        return brand + " (" + std::to_string(year) + ")";
    }
};

Création de plusieurs objets (instances)

Car car1;
car1.brand = "Tesla";
car1.year = 2023;

Car car2;
car2.brand = "Honda";
car2.year = 2020;

std::cout << car1.getInfo() << std::endl;  // Tesla (2023)
std::cout << car2.getInfo() << std::endl;  // Honda (2020)

Chaque objet est indépendant. Modifier car1 n'affecte pas car2. Vous pouvez créer plusieurs objets à partir de la même classe, chacun contenant ses propres données.

challenge icon

Défi

Moyen

Créez une classe Car (modèle). Le programme crée deux objets distincts (instances) à partir de celle-ci, chacun avec ses propres données :

  • Membres publics : brand (string), year (int)
  • getInfo() — retourne "<brand> (<year>)"

Aide-mémoire

Une classe est un plan qui définit une structure. Un objet est une instance spécifique créée à partir de ce plan.

Définition d'une classe :

class Car {
public:
    std::string brand;
    int year;
    
    std::string getInfo() {
        return brand + " (" + std::to_string(year) + ")";
    }
};

Création d'objets à partir d'une classe :

Car car1;
car1.brand = "Tesla";
car1.year = 2023;

Car car2;
car2.brand = "Honda";
car2.year = 2020;

std::cout << car1.getInfo() << std::endl;  // Tesla (2023)
std::cout << car2.getInfo() << std::endl;  // Honda (2020)

Chaque objet est indépendant et détient ses propres données. Modifier un objet n'affecte pas l'autre.

Essayez vous-même

#include <iostream>
#include "Car.h"

int main() {
    std::string brand1, brand2;
    int year1, year2;
    
    std::getline(std::cin, brand1);
    std::cin >> year1;
    std::cin.ignore();
    std::getline(std::cin, brand2);
    std::cin >> year2;
    
    Car car1;
    car1.brand = brand1;
    car1.year = year1;
    
    Car car2;
    car2.brand = brand2;
    car2.year = year2;
    
    std::cout << "Car 1: " << car1.getInfo() << std::endl;
    std::cout << "Car 2: " << car2.getInfo() << std::endl;
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation Orientée Objet