Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

24.5.1 Defaulttypen

24.5.1 Defaulttypen

Genauso wie Sie das von Funktionen her kennen, ist es möglich, den Templateparametern Defaultwerte zuzuweisen. Dies hat zur Folge, dass der Aufruf etwas vereinfacht wird. Im folgenden Beispiel werde ich dies kurz anhand einer Templatefunktion zeigen. Dieser Mechanismus funktioniert aber auch bei Templateklassen.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
					
// Gibt das Ergebnis der Division zurück //////////////////////////////////////
template<typename TResultType = float>
TResultType Dividieren(int iDivident, int iDivisor) {
	// Wenn der Divisor gleich 0 ist
	if (iDivisor == 0) {
		return static_cast<TResultType>(0);
	} else {
		return static_cast<TResultType>(iDivident) / static_cast<TResultType>(iDivisor);
	} // end of if
} // Dividieren ///////////////////////////////////////////////////////////////

// ...

printf("%i ", Dividieren<int>(10, 4));	// Nutzt expliziten Typen
printf("%g\n", Dividieren<>(10, 4));	// Nutzt Defaulttypen
					

Ausgabe:

2 2.5
		

Wie Sie sehen können, habe ich in Zeile 2 hinter den Datentyp noch einen Defaultdatentyp angegeben und somit benötige ich keine Angabe beim Aufruf, wie Sie in Zeile 15 sehen können. Wichtig ist aber, dass man trotzdem die spitzen Klammern schreibt.

Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012