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.

9.4 Weitere wichtige technische Aspekte 239<br />

55 class TextuallyDisplayable : public virtual Displayable<br />

56 {<br />

57 public :<br />

58 TextuallyDisplayable ( ) ;<br />

59 virtual ˜ TextuallyDisplayable ( ) ;<br />

60 } ;<br />

In Zeile 55 erkennt man, wie man e<strong>in</strong>e virtuelle Ableitung <strong>in</strong> C ++ formuliert.<br />

Ansonsten s<strong>in</strong>d hier ke<strong>in</strong>e erwähnenswerten Besonderheiten zu f<strong>in</strong>den.<br />

Die anderen direkt abgeleiteten Klassen, also GraphicallyDisplayable und<br />

Pr<strong>in</strong>table s<strong>in</strong>d analog deklariert. Die Klasse GameCard, die schließlich von<br />

den drei verschiedenen darstellbaren Klassen abgeleitet ist, liest sich folgendermaßen:<br />

100 class GameCard : public TextuallyDisplayable ,<br />

101 public GraphicallyDisplayable ,<br />

102 public Pr<strong>in</strong>table<br />

103 {<br />

104 protected :<br />

105 DisplayRep c u r r e n t d i s p l a y r e p ;<br />

106 public :<br />

107 GameCard ( ) ;<br />

108 virtual ˜GameCard ( ) ;<br />

109<br />

110 virtual const DisplayRep &getDisplayRep ( ) const ;<br />

111 } ;<br />

In den Implementationen der verschiedenen Konstruktoren und Destruktoren<br />

f<strong>in</strong>den wir wieder den schon altbekannten Output, der uns anzeigt, wer nun<br />

wann aufgerufen wird. Stellvertretend für diese werfen wir e<strong>in</strong>fach e<strong>in</strong>en Blick<br />

auf Konstruktor und Destruktor von TextuallyDisplayable:<br />

140 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

141 /∗ constructor<br />

142 ∗/<br />

143<br />

144 TextuallyDisplayable : : TextuallyDisplayable ( )<br />

145 {<br />

146 cout

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!