Du kan overbelaste standardudformet funktioner som du kan normale funktioner . På denne måde kan én funktion navn håndtag generiske datatyper og et variabelt antal parametre , forudsat at disse parametre er af samme datatype . Programmøren har mindre at tænke over, da compileren håndterer den type kontrol og matcher et funktionskald til en funktion signatur. Funktion skabelon overbelastning bidrager til at øge indvindingen af funktionen brug. Ting du skal
Advanced C + + viden
C + + compiler med IDE , såsom Visual Studio 2008
Vis Flere Instruktioner
1
anmeldelse , hvordan du bruger funktionen skabeloner i C + +, hvis dit fundament på skabeloner er rystende . Du skal vide, skabeloner , før du kan forsøge dette selvstudium.
2
Brug nøgleordet "class " eller " typename " i skabelonen for at angive de generiske typer . De to søgeord har forskellige brug . Men i forbindelse med denne tutorial, er det ligegyldigt, hvilke søgeord , du bruger .
3
Overload en standardudformede funktion så mange gange, som der er inputargumenter du ønsker det til at behandle . Du skal gøre dette i angivelsen samt definition. Eksemplet nedenfor viser de tre erklæringer af én funktion , som kan udskrive 02:59 datatyper af samme type til standard output :
skabelon
void Udskriv ( const T t1 ),
template < br > void Udskriv ( const T t1, const T T2 ),
template
void Udskriv ( const T t1, const T t2, const T t3 ),
4
gennemføre overbelastning algoritmer som følger : Hej skabelon
void Udskriv ( const T t1 ) {
cout }
skabelon
void Udskriv ( const T t1, const T t2 ) { < br > cout }
skabelon
void Udskriv ( const T t1, const T t2, const T t3 ) {
cout }
5
Call Print () fra main () ved at overbelaste det med en til tre parametre og bruge nogen fundamental datatype. Bemærk at du kan kalde funktionen med eller uden vinkelbeslag eller typen specifikation :
int main () {
Print ( 4.f ) //udskriver en float
Udskriv < > (23 , 37 ) //udskriver to heltal
Print ( 'c' , ' o' , 'M' ) //prints tre tegn
}
< br >