Antag, at du ønsker at gøre en funktion, Mult , der ganger to tal. Du kan skrive en separat version for hver datatype , som er overbelastning metode , eller du kan bruge C + + funktion skabeloner og har én funktion signatur i stedet for tre . C + + funktionsskabeloner automatisere typen aflevering , giver biblioteket bruger mere udtryksfuld magt og reducere omkostningerne ved koden vedligeholdelse. Ting du skal
Advanced C + + Online C + + compiler med IDE , såsom Bloodshed s
Vis Flere Instruktioner
1
Overload en funktion, der ganger antallet af typen int, float og double : Hej int Mult ( int a , int b ) {
afkast ( a * b)
}
float Mult ( flyde , flyde b ) {
afkast ( a * b)
}
double Mult ( double a, double b ) {
afkast ( a * b)
}
2
Gør det samme som Trin 1 er , ved hjælp af C + + funktion skabeloner : Hej skabelon
T Mult (T a, T b ) {
afkast ( a * b)
}
3
Sammenlign trin 2 til trin 1. . Den ekstra linje kode indsættes over den funktion definition i trin 2 virker som en god afvejning for at gentage funktionen legeme to eller flere gange .
4
Retur til koden for trin 2 . T er typename . Klassen nøgleordet betyder at T kan tage nogen identitet. Det er en generisk type, som compiler fortolker på flue afhængigt af hvad parameter brugeren overgår til det. Så T kan være et heltal , en float , dobbelt-eller en klasse, der har den formere definerede operatør , ellers formerer operation forbliver udefineret
5
Test grundigt funktionen signatur , der bruger skabeloner. . Udføre test med alle de forventede datatyper at sikre, at du ikke får uventede resultater.