30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

13.3 Class Templates 425<br />

E<strong>in</strong> Blick auf Zeile 26 verrät, dass zwischen den spitzen Klammern bei e<strong>in</strong>er<br />

Template Deklaration nicht ausschließlich nur generische Typenbezeichnungen<br />

als Parameter stehen können. Es können auch ganz normale typisierte<br />

Parameter <strong>in</strong> dieser Liste enthalten se<strong>in</strong>, wie hier unser Parameter<br />

MAX_NUM_ELEMENTS, der vom Typ u<strong>in</strong>t32 ist. In unserem Fall wird damit die<br />

maximale Anzahl von Elementen festgelegt, die e<strong>in</strong> Buffer halten kann und<br />

dieser Parameter ist <strong>in</strong> der Implementation äquivalent zu e<strong>in</strong>er Konstante<br />

verwendbar. Stellvertretend für die Änderungen, die sich <strong>in</strong> der Def<strong>in</strong>ition<br />

der Methoden ergeben, möchte ich <strong>in</strong> der Folge den Copy-Constructor abdrucken:<br />

74 template <br />

75 Buffer:: Buffer (<br />

76 const Buffer &s r c )<br />

77 throw( <strong>in</strong>valid argument , b a d a l l o c )<br />

78 {<br />

79 cout

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!