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.

180 9. Klassen <strong>in</strong> <strong>C++</strong><br />

Compiler wissen, welche von verschiedenen Möglichkeiten des Destruktors<br />

er dort e<strong>in</strong>setzen soll? Vor allem gibt es ja auch ke<strong>in</strong>e Möglichkeit, ihm<br />

mitzuteilen, welche Parameterwerte überhaupt e<strong>in</strong>gesetzt werden müssten,<br />

sollte e<strong>in</strong> Destruktor irgendwelche Parameter entgegennehmen können. Der<br />

Compiler bestimmt ja, wann die Lifetime e<strong>in</strong>er Variable zu Ende ist, dies wird<br />

(außer bei dynamischer Memory Verwaltung) niemals von den Entwicklern<br />

explizit angegeben.<br />

Wie im Rahmen des Life-Cycles e<strong>in</strong>es Objekts die Aufrufe von Konstruktoren<br />

und Destruktor passieren, lässt sich am e<strong>in</strong>fachsten an e<strong>in</strong>em Beispiel<br />

demonstrieren<br />

(simple_constr_destr_demo.cpp):<br />

1 // simple constr destr demo . cpp − constructor and d e s t r u c t o r demo<br />

2<br />

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

4<br />

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

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

7<br />

8 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

9 /∗<br />

10 ∗ SimpleConstrDestrDemo<br />

11 ∗<br />

12 ∗ Simple demo c l a s s f o r c o n s t r u c t o r s and d e s t r u c t o r<br />

13 ∗<br />

14 ∗/<br />

15<br />

16 class SimpleConstrDestrDemo<br />

17 {<br />

18 private :<br />

19 <strong>in</strong>t j u s t a n i n t v a l u e ;<br />

20 const char ∗ j u s t a s t r i n g v a l u e ;<br />

21 public :<br />

22 SimpleConstrDestrDemo ( ) ;<br />

23 SimpleConstrDestrDemo ( <strong>in</strong>t a param ) ;<br />

24 SimpleConstrDestrDemo ( const char ∗ a param ) ;<br />

25 ˜SimpleConstrDestrDemo ( ) ;<br />

26 } ;<br />

27<br />

28 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

29 /∗ d e f a u l t constructor<br />

30 ∗/<br />

31<br />

32 SimpleConstrDestrDemo : : SimpleConstrDestrDemo ( )<br />

33 {<br />

34 cout

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!