30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

14. Namespaces<br />

Als letztes Feature im C ++ Sprachstandard kommen wir zu den sogenannten<br />

Namespaces, die man sehr s<strong>in</strong>nvoll zur Modularisierung von Software e<strong>in</strong>setzen<br />

kann. Mit Hilfe von Namespaces kann man logische Gruppierungen<br />

def<strong>in</strong>ieren und gegene<strong>in</strong>ander abgrenzen. Nehmen wir e<strong>in</strong>fach an, wir hätten<br />

e<strong>in</strong>e Sammlung von Klassen, Templates und Funktionen, die sich alle um das<br />

Thema Datenstrukturen drehen. Dann wäre es nur logisch, diese Sammlung<br />

nach außen h<strong>in</strong> als Gruppierung z.B. unter dem Namen Datastructures_<br />

anzubieten. Grundsätzlich geht das sehr e<strong>in</strong>fach, wie man am folgenden<br />

Beispiel sehen kann. Als Demonstration, wie man Funktionen <strong>in</strong> e<strong>in</strong>en Namespace<br />

verpacken kann, schreiben wir e<strong>in</strong>fach e<strong>in</strong>e beliebige <strong>in</strong>l<strong>in</strong>e Funktion<br />

und stecken sie <strong>in</strong> e<strong>in</strong>en Header (someth<strong>in</strong>g.h):<br />

1 // someth<strong>in</strong>g . h − j u s t a dummy function<br />

2<br />

3 #ifndef someth<strong>in</strong>g h<br />

4 #def<strong>in</strong>e someth<strong>in</strong>g h<br />

5<br />

6 #<strong>in</strong>clude <br />

7<br />

8 us<strong>in</strong>g std : : cout ;<br />

9 us<strong>in</strong>g std : : endl ;<br />

10<br />

11 namespace Datastructures<br />

12 {<br />

13<br />

14 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

15 /∗<br />

16 ∗/<br />

17 <strong>in</strong>l<strong>in</strong>e void doSometh<strong>in</strong>g ( )<br />

18 {<br />

19 cout

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!