Du kan overbelaste templated funksjoner som du kan normale funksjoner. På denne måten kan en funksjon navn håndtere generiske datatyper og et variabelt antall parametre , forutsatt at disse parametrene er av samme datatype . Programmereren har mindre å tenke på siden kompilatoren håndterer den type kontroll og matcher en funksjon kall til en funksjon signatur . Funksjon mal overbelastning bidrar til å øke abstraksjon av funksjon bruk. Du trenger
Advanced C + + kunnskap
C + + kompilator med IDE, for eksempel Visual Studio 2008
Vis flere instruksjoner
en
gjennomgang hvordan du bruker funksjonen maler i C + + hvis fundament på maler er skjelven. Du må vite maler før du kan forsøke denne opplæringen .
2
Bruk søkeordet "klasse" eller " TypeName " i malen for å spesifisere de generiske typer. De to søkeordene har ulik bruk . Men i forbindelse med denne opplæringen , spiller det ingen rolle hvilket søkeord du bruker .
3
Overload en templated funksjon så mange ganger som det er argumenter du vil den skal behandle . Du må gjøre dette i erklæringen samt definisjonen . Eksempelet nedenfor viser de tre erklæringene om én funksjon , som kan skrive ut en til tre datatyper av samme type til standard ut :
mal
void utskrift ( konst T t1 ) ;
mal
void utskrift ( konst T t1 , konst T t2 ) ;
mal
void utskrift ( konst T t1 , konst T t2 , konst T t3 ) ;
4
gjennomføre overbelastning algoritmer som følger : en mal
void utskrift ( konst T t1 ) {
cout }
mal
void utskrift ( konst T t1 , konst T t2 ) {
cout }
mal
void utskrift ( konst T t1 , konst T t2 , konst T t3 ) {
cout }
5
Ring Print ( ) fra main ( ) ved å overbelaste det med 02:59 parametre og bruke noen grunnleggende datatype . Merk at du kan ringe funksjon med eller uten vinkelbeslag eller typen spesifikasjon :
int main ( ) {
Print ( 4.f ) ; //utskrifter én flåte
Print < > ( 23 , 37) ; //utskrifter to heltall
print (' c ', ' o' , ' m '); //utskrifter tre tegn
}