Templates
Function Templates
Function templates let one function body work with more than one type.
Function Templates
function_templates.cpp
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
#include <iostream>
template <typename T>
T larger(T left, T right) {
if (left > right) {
return left;
}
return right;
}
int main() {
int first = ;
int second = ;
int best = larger(first, second);
std::cout << "first=" << first << std::endl;
std::cout << "second=" << second << std::endl;
std::cout << "larger=" << best << std::endl;
return 0;
}
function template
A function template uses a type parameter such as `T` so the compiler can build a typed version when the function is called.