Παραδείγματα με συναρτήσεις generic
Παρακάτω παρουσιάζονται απλά παραδείγματα από συναρτήσειες generic για εξάσκηση.
Να φτιαχτεί generic συνάρτηση που θα επιστρέφει τον αντίθετο ενός ακεραίου αριθμού.
template <typename T> T getOpposite(T x) { T opp = -x; return opp; }
Να φτιαχτεί generic συνάρτηση που θα επιστρέφει την απόλυτη ενός αριθμού.
template <typename T> T getAbsolute(T x) { if(x >= 0) { return x; } else { return -x; } }
Να φτιαχτεί generic συνάρτηση που θα επιστρέφει τον μεγαλύτερο αριθμό ανάμεσα σε δύο.
template <typename T> T getMax(T a, T b) { if(a>b) { return a; } else { return b; } }
Να φτιαχτεί generic συνάρτηση που θα επιστρέφει τον μικρότερο αριθμό ανάμεσα σε δύο.
Να φτιαχτεί generic συνάρτηση που θα επιστρέφει το εμβαδόν ενός κύκλου.
template <typename T> double getCircleArea(T r) { return 3.14*r*r; }
Να φτιαχτεί generic συνάρτηση που θα επιστρέφει το εμβαδόν ενός ορθογωνίου.
template <typename T> T getRecArea(T width, T height) { return width*height; }
Να φτιαχτεί generic συνάρτηση που θα επιστρέφει το εμβαδόν ενός τριγώνου.
template <typename T> double getTriArea(T base, T height) { return base*height/2; }
Να φτιαχτεί generic συνάρτηση που θα επιστρέφει true ή false αν ένα ορθογώνιο είναι τετράγωνο.
Να φτιαχτεί generic συνάρτηση που θα κάνει ανταλλαγή (swap) τις τιμές δύο μεταβλητών. Οι παράμετροι καλούνται με αναφορά (by reference).
template <typename T> void swap(T &x, T &y) { T temp; temp = x; x = y; y = temp; }