Šioje pamokoje su pavyzdžių pagalba sužinosime apie funkcijų šablonus C ++.
Šablonai yra galingos C ++ funkcijos, leidžiančios mums rašyti bendras programas.
Mes galime sukurti vieną funkciją, kad galėtume dirbti su skirtingais duomenų tipais, naudodami šabloną.
Funkcijos šablono deklaracija
Funkcijos šablonas prasideda raktiniu žodžiu, templatepo kurio yra šablono parametras (-ai) , po kurio pateikiama funkcijos deklaracija.
template T functionName(T parameter1, T parameter2,… ) ( // code )
Ankstesniame kode Tyra šablono argumentas, kuris priima skirtingus duomenų tipus ( int, floatir tt) ir typenameyra raktinis žodis.
Kai duomenų tipo argumentas perduodamas functionName(), kompiliatorius sugeneruoja naują functionName()nurodyto tipo duomenų versiją .
Skambinimas funkcijos šablonui
Deklaravę ir apibrėžę funkcijos šabloną, galime jį iškviesti kitose funkcijose ar šablonuose (pvz., main()Funkcija) naudodami šią sintaksę
functionName(parameter1, parameter2,… );
Pvz., Apsvarstykime šabloną, kuriame pridedami du skaičiai:
template T add(T num1, T num2) ( return (num1 + num2); )
Tada galime jį paskambinti main()funkcijoje, kad pridėtume intir doubleskaičiuotume.
int main() ( int result1; double result2; // calling with int parameters result1 = add(2, 3); cout << result1 << endl; // calling with double parameters result2 = add(2.2, 3.3); cout << result2 << endl; return 0; )
Funkcijos iškvietimas pagal duomenų tipus
Pavyzdys: absoliučios skaičių vertės radimas
#include using namespace std; template T add(T num1, T num2) ( return (num1 + num2); ) int main() ( int result1; double result2; // calling with int parameters result1 = add(2, 3); cout << "2 + 3 = " << result1 << endl; // calling with double parameters result2 = add(2.2, 3.3); cout << "2.2 + 3.3 = " << result2 << endl; return 0; )
Rezultatas
2 + 3 = 5 2,2 + 3,3 = 5,5








