Menu
Coddy logo textTech

Namespaces y alcance

Parte de la sección Programación Orientada a Objetos del Journey de C++ de Coddy. Lección 4 de 104.

Los espacios de nombres agrupan el código relacionado y evitan conflictos de nombres. El operador de resolución de ámbito :: accede a los elementos dentro de un espacio de nombres.

Creación de un espacio de nombres

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

Acceso con scope resolution ::

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

Directiva using para evitar escribir el espacio de nombres cada vez

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

El espacio de nombres std

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

Los espacios de nombres organizan el código y evitan conflictos de nombres. El espacio de nombres std contiene todas las funcionalidades de la biblioteca estándar de C++, como cout, cin, string y endl.

challenge icon

Desafío

Intermedio

Crea funciones dentro del espacio de nombres MathTools:

  • add(int a, int b): devuelve la suma
  • multiply(int a, int b): devuelve el producto

Decláralas en MathTools.h e implementa en MathTools.cpp.

Pruébalo tú mismo

#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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de C++ online