Ho un esercizio da fare in C++:

Implementare una classe Stack in un namespace "Strutture Dati" che contenga:

costruttore
metodo boolean push(int a)
metodo boolean pop(int &a)

La classe sarą composta da due file:
Stack.hpp in cui definiamo la classe
Stack.cpp che conterrą le implementazioni

Ora ho cercato su internet e mi sembra di avere capito che i namespace si utilizzano per progetti pił ampi, ma esattamente cosa sono e a che servono? Mi sembra di avere capito che debba creare una classe che all' interno abbia la voce namespace, parentesi graffa e poi creare il file .hpp all' interno, poi invece creare un altro file .cpp che includerą quella classe.