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.

a g l o b a l v a r : 1 7<br />

a n o t h e r g l o b a l v a r : 0<br />

bool s e t to true : 1<br />

bool s e t to f a l s e : 0<br />

bool from i n t : 1<br />

bool to i n t : 1<br />

signed (−1) or unsigned ( 2 5 5 ) char ? −1<br />

c a l l c o u n t e r : 2<br />

u n i n i t i a l i z e d var : 134513980<br />

2.3 Das erste <strong>C++</strong> Programm 27<br />

Der hier <strong>in</strong>kludierte Output stammt von e<strong>in</strong>em 32 Bit L<strong>in</strong>ux System. Die Zeilen,<br />

die die Werte der un<strong>in</strong>itialisierten Variablen anzeigen, können natürlich<br />

bei jedem neuen Programmlauf und je nach System verschiedensten Output<br />

liefern. Die Zeile, <strong>in</strong> der ausgegeben wird, ob wir es auf unserem System implizit<br />

mit signed oder unsigned Characters zu tun haben, ist natürlich von<br />

System zu System verschieden. Auf den meisten Systemen wird allerd<strong>in</strong>gs<br />

-1 ausgegeben werden.<br />

Bösartigerweise habe ich e<strong>in</strong> wenig vorgegriffen und im Programm bereits<br />

e<strong>in</strong> C ++ Konstrukt verwendet, das erst im OO-Teil des Buchs genau<br />

besprochen werden wird: Den Standard-Output-Stream (namens cout) zur<br />

Bildschirmausgabe. Aber ke<strong>in</strong>e Panik, dieser Stream erleichtert unser Leben<br />

als Entwickler deutlich und es ist auch ganz e<strong>in</strong>fach, damit umzugehen.<br />

Führen wir also das Programm e<strong>in</strong>mal häppchenweise e<strong>in</strong>er Analyse zu:<br />

• Bevor wir zu den technischen Details kommen, muss ich noch kurz etwas<br />

anmerken: Leser, denen z.B. die Namen der globalen Variablen komisch<br />

vorkommen, weil sie mit e<strong>in</strong>em Underl<strong>in</strong>e enden, möchte ich kurz auf den<br />

Cod<strong>in</strong>g Standard <strong>in</strong> Anhang A verweisen, der den Beispielen <strong>in</strong> diesem<br />

Buch zugrunde liegt.<br />

• In Zeile 1 sehen wir die typische Schreibweise von Kommentaren <strong>in</strong> C ++:<br />

E<strong>in</strong> Kommentar beg<strong>in</strong>nt mit // irgendwo <strong>in</strong> der Zeile und endet automatisch<br />

mit dem Ende der Zeile.<br />

In C ++ kann auch die C-Schreibweise der Block-Kommentare verwendet<br />

werden, die mit /* begonnen und mit */ beendet wird. Dies wird allerd<strong>in</strong>gs<br />

nicht empfohlen, da Schachtelungen dieser Blöcke nicht erlaubt s<strong>in</strong>d und<br />

dies zu Problemen führen kann. E<strong>in</strong>e genaue Diskussion zu diesem Thema<br />

f<strong>in</strong>det sich <strong>in</strong> <strong>Softwareentwicklung</strong> <strong>in</strong> C <strong>in</strong> Kapitel 4.<br />

• Das #<strong>in</strong>clude-Statement <strong>in</strong> Zeile 3 bewirkt, dass Entwickler, die Standard-<br />

C gewohnt s<strong>in</strong>d, lächelnd den Kopf schütteln und sich sicher s<strong>in</strong>d, dass mir<br />

hier e<strong>in</strong> Fehler unterlaufen ist, denn hier sollte doch wohl<br />

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

stehen. Leser, die noch ke<strong>in</strong>e Erfahrung mit C haben, beg<strong>in</strong>nen erst jetzt<br />

lächelnd den Kopf zu schütteln und s<strong>in</strong>d sich sicher, dass ich im Fieber<br />

liege, weil ich gerade wirres Zeug schreibe. Beides ist mitnichten der Fall!<br />

Des Rätsels Lösung sieht folgendermaßen aus:<br />

– Ich habe bereits erwähnt, dass es explizite Deklarationen von Variablen<br />

gibt. Ebenso gibt es auch explizite Deklarationen von allen möglichen

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!