Παραδείγματα με συναρτήσεις 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;
}