#include using namespace std; //raggruppa tutte le quantita' (classi, funzioni, ecc ) della libreria standard di // c++ sotto il nome std. Ci serve perche' usiamo cin, cout, setprecision. int var=20; //var globale namespace myNamespace { int var = 5; int square (int y){ int l= y*y*y; // qui sbaglio e calcolo il cubo di y !!! return l; } } int square ( int ); // prototipo della funzione square int main() { cout << " var variabile globale = " << var << endl; cout << "var globale =" << var << ", quadrato di var (globale) = " << square(var)<< endl; cout << " var appartenente al myNamespace = " << myNamespace::var << endl; cout << "var globale =" << var << ", quadrato (funzione definita in myNamespace) di var (globale) = " << myNamespace::square(var)<< endl; cout << "var globale =" << var << ", quadrato di var (definita in myNamespace) = " << square(myNamespace::var)<< endl; using myNamespace::var ; cout << "var di myNamespace =" << var << ", quadrato di var (myNamespace) = " << square (var) << endl; return 0; } int square (int y) { return y*y; } //g++ -o namespace namespace.cc //./namespace // var variabile globale = 20 //var globale =20, quadrato di var (globale) = 400 // var appartenente al myNamespace = 5 //var globale =20, quadrato (funzione definita in myNamespace) di var (globale) = 8000 //var globale =20, quadrato di var (definita in myNamespace) = 25 //var di myNamespace =5, quadrato di var (myNamespace) = 25