Menu
Coddy logo textTech

Espaces de noms et Portée

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

Les espaces de noms regroupent le code associé et évitent les conflits de nommage. L'opérateur de résolution de portée :: permet d'accéder aux éléments à l'intérieur d'un espace de noms.

Créer un espace de noms

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

Accès avec l'opérateur de résolution de portée ::

int result = MathTools::add(5, 3);  // résultat = 8

Utilisation de la directive pour éviter de saisir l'espace de noms à chaque fois

using namespace MathTools;
int result = add(5, 3);  // Identique à MathTools::add(5, 3)

L'espace de noms std

std::cout << "Hello" << std::endl;
// ou
using namespace std;
cout << "Hello" << endl;

Les espaces de noms organisent le code et empêchent les collisions de noms. L'espace de noms std contient toutes les fonctionnalités de la bibliothèque standard C++ comme cout, cin, string et endl.

challenge icon

Défi

Moyen

Créez des fonctions à l'intérieur de l'espace de noms MathTools :

  • add(int a, int b) — retourne la somme
  • multiply(int a, int b) — retourne le produit

Déclarez-les dans MathTools.h et implémentez-les dans MathTools.cpp.

Aide-mémoire

Les espaces de noms (namespaces) regroupent le code associé et évitent les conflits de nommage. L'opérateur de résolution de portée :: permet d'accéder aux éléments à l'intérieur d'un espace de noms.

Création d'un espace de noms :

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

Accès avec la résolution de portée :: :

int result = MathTools::add(5, 3);  // result = 8

Utilisation de la directive pour éviter de saisir l'espace de noms à chaque fois :

using namespace MathTools;
int result = add(5, 3);  // Same as MathTools::add(5, 3)

L'espace de noms std contient toutes les fonctionnalités de la bibliothèque standard C++ comme cout, cin, string, et endl :

std::cout << "Hello" << std::endl;
// or
using namespace std;
cout << "Hello" << endl;

Essayez vous-même

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

int main() {
    int a, b;
    std::cin >> a >> b;
    
    std::cout << "Add: " << MathTools::add(a, b) << std::endl;
    std::cout << "Multiply: " << MathTools::multiply(a, b) << 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