Sie können überladen gestützte Funktionen wie können Sie normalen Funktionen . Auf diese Weise kann eine Funktion Namen verarbeiten generischen Datentypen und einer variablen Anzahl von Parametern , sofern diese Parameter vom gleichen Datentyp sind . Der Programmierer hat weniger zu , da der Compiler übernimmt die Typprüfung und passt eine Funktion Aufruf einer Funktion Unterschrift denken. Funktion Vorlage Überlastung trägt zur Steigerung der Abstraktion der Funktion Gebrauch. Dinge, die Sie brauchen
erweiterte C + + Kenntnisse
C + + Compiler mit IDE wie Visual Studio 2008
anzeigen Weitere Anweisungen
1
Bewertung , wie Funktions-Templates im Einsatz C + + , wenn Ihr Fundament, auf Vorlagen wackelig ist . Sie müssen wissen, Vorlagen , bevor Sie diese Anleitung versuchen kann .
2
Benutze das Stichwort " Klasse " oder " typename " in der Vorlage , die generische Typen angeben . Die beiden Stichworte, haben unterschiedliche Nutzung. Aber für die Zwecke dieses Tutorials ist es egal, welches Keyword Sie verwenden.
3
Überladen einer Template -Funktion so oft , wie es Eingabeargumente Sie wollen, dass es zu verarbeiten. Sie müssen dies in der Erklärung sowie der Definition zu tun. Das folgende Beispiel zeigt die drei Erklärungen von einer Funktion , die ein bis drei Datentypen des gleichen Typs auf die Standardausgabe drucken: Vorlage
nichtig Print ( const T t1) ;
template
Leere Print ( const T t1 , const T t2) ;
Vorlage
nichtig Print ( const T t1 , t2 const T , const T t3) ;
4
Implementieren Sie die Überlastung Algorithmen wie folgt: Vorlage
nichtig Print ( const T t1) { cout
}
Vorlage
nichtig Print ( const T t1 , t2 const T ) {
cout }
Vorlage
nichtig Print ( const T t1 , t2 const T , const T t3) { cout
}
5
Anruf Print () aus main () durch Überlastung es mit ein bis drei Parameter und mit jeder grundlegender Datentyp . Beachten Sie, dass die Funktion mit oder ohne spitze Klammern oder Typspezifikation anrufen: int main () { Kunst-Druck ( 4.f) ; //gibt ein Schwimmer -Kunst-Druck < > (23 , 37) ; //gibt zwei Integer -Kunst-Druck ( 'c' , 'o ', ' m '); //gibt drei Zeichen
}