- Ο ορισμός συναρτήσεων με βάση ένα πρότυπο γίνεται με τη
σύνταξη:
template <δηλώσεις τύπων>
δήλωση συνάρτησης με βάση τους τύπους
Το παρακάτω παράδειγμα ορίζει τη συνάρτηση swap που εναλλάσσει μεταξύ τους
τις δύο μεταβλητές - ορίσματα της συνάρτησης:
// File tswap.h
template <class T>
void
swap(T &a, T &b)
{
T c;
c = a;
a = b;
b = c;
}
- Η υλοποίηση της συνάρτησης γίνεται αυτόματα για τον τύπο για τον
οποίο χρησιμοποιείται:
// File swaptest.cpp
#include <iostream.h>
#include "tswap.h"
main()
{
int a = 1, b = 2;
double da = 1.1, db = 2.2;
swap(a, b); // Swap two integers
swap(da, db); // Swap two floating point numbers
cout << a << "," << b << "\n";
cout << da << "," << db << "\n";
}
- Μπορούμε ακόμα να καθορίσουμε κατά τη χρήση της συνάρτησης τον
τύπο της συνάρτησης που θέλουμε να χρησιμοποιηθεί αρκεί οι παράμετροι
να είναι συμβατοί (ακόμα και μέσω μετατροπών) με το συγκεκριμένο τύπο.
Το παρακάτω παράδειγμα θα τυπώσει 3:
#include <iostream.h>
template <typename T>
T
max(T a, T b)
{
if (a > b)
return (a);
else
return (b);
}
main()
{
cout << max<int>(3.1415, 1.4142) << "\n";
}