Menu
Coddy logo textTech

Namensräume & Gültigkeitsbereiche

Teil des Abschnitts Objektorientierte Programmierung der C++-Journey von Coddy — Lektion 4 von 104.

Namespaces gruppieren zusammengehörigen Code und verhindern Namenskonflikte. Der :: Bereichsauflösungsoperator greift auf Elemente innerhalb eines Namespaces zu.

Erstellen eines Namespace

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

Zugriff mit dem Bereichsauflösungsoperator ::

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

Verwendung der Direktive, um die Angabe des Namespace jedes Mal zu vermeiden

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

Der std-Namensraum

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

Namespaces organisieren Code und verhindern Namenskollisionen. Der std-Namespace enthält alle Funktionen der C++-Standardbibliothek wie cout, cin, string und endl.

challenge icon

Aufgabe

Mittel

Erstellen Sie Funktionen innerhalb des MathTools-Namespace:

  • add(int a, int b) — gibt die Summe zurück
  • multiply(int a, int b) — gibt das Produkt zurück

Deklarieren Sie diese in MathTools.h und implementieren Sie sie in MathTools.cpp.

Spickzettel

Namespaces gruppieren zusammengehörigen Code und verhindern Namenskonflikte. Der :: Bereichsauflösungsoperator greift auf Elemente innerhalb eines Namespace zu.

Erstellen eines Namespace:

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

Zugriff mit dem Bereichsauflösungsoperator :::

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

Verwendung der using-Direktive, um die Angabe des Namespace jedes Mal zu vermeiden:

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

Der std-Namespace enthält alle Funktionen der C++-Standardbibliothek wie cout, cin, string und endl:

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

Probier es selbst

#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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung