Supponiamo che stiamo sviluppando un software che riguarda l'elettronica o l'elettrotecnica, e di usare per una funzione l'identificatore "socket" per indicare, in inglese, un dispositivo fisico a cui fa riferimento l'applicazione.
La situazione è peggiore se abbiamo adottato due librerie non modificabili che utilizzano lo stesso nome per concetti diversi. In tal caso il conflitto di nomi è insanabile.
È per rimediare a tale situazione che in C++ sono stati introdotti i "namespace".
Ogni libreria ben progettata dovrebbe inserire tutti i nomi che dichiara all'interno di un namespace. Per esempio, la famosa libreria Boost, inserisce tutte le proprie dichiarazioni nel namespace "boost".
La stessa libreria standard del C++ inserisce gran parte delle proprie dichiarazioni nel namespace "std" (che significa "standard").
Da Wikibooks
CONVENZIONE HEADER
Esiste un solo main(), per ogni classe solitamente c'è un file header che racchiude la dichiarazione della classe e un file cpp che raccoglie i metodi.
Esiste un solo main(), per ogni classe solitamente c'è un file header che racchiude la dichiarazione della classe e un file cpp che raccoglie i metodi.
1) main.cpp
- #include librerie + <nome_classe>.h
- using namespace <nome_space>
- main() + funzioni
2) <nome_classe>.h
- #ifndef <nome_classe>.h
- #define <nome_classe>.h ... #endif
- elenco delle classi (solo dichiarazioni e getter, setter)
3) <nome_classe>.cpp
- #include librerie + <nome_classe>.h
- elenco dei metodi delle classi: void <name_space>::<name_class>::<nome_metodo>() const {}
Nessun commento:
Posta un commento