Angenommen, Sie möchten eine Funktion , Mult , die zwei Zahlen multipliziert machen . Sie können eine separate Version für jeden Datentyp , die die Überlastung Methode ist , oder Sie können C + +-Funktion Vorlagen verwenden und haben eine Funktion Signatur anstelle von drei . C + +-Funktion Vorlagen automatisieren Art Übergabe , geben dem Bibliotheksbenutzer mehr Ausdruckskraft und reduzieren die Kosten für Wartung Code . Was Sie brauchen
erweiterte C + +
C + +-Compiler mit IDE , wie das Blutvergießen
anzeigen Weitere Anweisungen
1
Overload eine Funktion, die Zahlen vom Typ int multipliziert , float und double:
int Mult (int a, int b) {
return ( a * b); }
float Mult ( float a , float b) {
return ( a * b ); }
Doppel Mult (double a, double b) {
return ( a * b); }
2
Machen Sie dasselbe , dass Schritt 1 ist , unter Verwendung von C + + -Templates Funktion : Foto-Schablone Maternity T Mult (T a, T b) {
return ( a * b); }
3
Vergleichen Schritt 2 zu Schritt 1 . Die zusätzliche Codezeile über der Definition der Funktion in Schritt 2 eingefügt scheint wie ein guter Kompromiss für die Wiederholung der Funktion Körper zwei oder mehrere Male .
4
zurück zur Code von Schritt 2 . T ist die typename . Die Klasse Keyword bedeutet, dass T können jede Identität annehmen . Es ist ein generischer Typ , dass der Compiler on the fly abhängig , welcher Parameter dem Anwender, es geht interpretiert . So kann T eine ganze Zahl sein , ein Schwimmer , ein Doppel-oder eine Klasse, die mehrfach Operator definiert ist , da sonst die mehrfach Betrieb bleibt undefiniert
5
-Test gründlich die Funktion Signatur, die Vorlagen verwendet . . Führen Sie die Tests mit allen erwarteten Datentypen , um sicherzustellen, dass Sie nicht zu unerwarteten Ergebnissen führen .