#include <iostream>

//using namespace std;

// Posto nismo ukljucili prostor imena std
// mozemo da deklarisemo globalnu promenljivu
// cije je ime cout
double cout = 3.14;

// Pisemo novi prostor imena proba1
// i u okviru njega mozemo sada da definisemo
// novu promenljivu sa istim imenom
namespace proba1 {
    int cout = 5;
    float cin = 4;
    //...
};

// ovo je nastavak prostora imena
namespace proba1 {
    // Ovde mozemo da dodamo neke nove
    // definicije. Prostor imena moze
    // da sadrzi i druge ugnezdene definicije
    // prostora imena kao i deklaracije ili
    // definicije funkcija, objekata, klasa,
    // sablona i tipova.
};

main()
{
    // Ovo cout je loklana promenljiva
    char* cout = "cout";

    // Referisemo se na cout iz standardnog
    // prostora imena sa std::cout
    // Operator :: naziva se operator
    // oblasti vazenja
    // Ovde se vrsi stampanje lokalne
    // promenljive cout
    std::cout << cout << std::endl;
    // cout


    // Sa proba1:cout i proba1::cin koristimo cout
    // i cin iz prostora imena proba1
    std::cout << proba1::cout << std::endl;
    std::cout << proba1::cin << std::endl;
    // 5
    // 4

    // Sa ::cout koristimo globalnu promenljivu
    // cout (definisanu van prostora imena)
    std::cout << ::cout << std::endl;
    // 3.14

    return 0;
}