diff options
Diffstat (limited to 'cpp07/ex00/whatever.cpp')
| -rw-r--r-- | cpp07/ex00/whatever.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/cpp07/ex00/whatever.cpp b/cpp07/ex00/whatever.cpp new file mode 100644 index 0000000..ebebf8c --- /dev/null +++ b/cpp07/ex00/whatever.cpp @@ -0,0 +1,55 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* whatever.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/14 19:46:56 by charles #+# #+# */ +/* Updated: 2020/04/14 20:01:41 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include <iostream> +#include <string> + +template<typename T> +void swap(T& a, T& b) +{ + T tmp = a; + a = b; + b = tmp; +} + +template<typename T> +T& min(T& a, T& b) +{ + return a < b ? a : b; +} + +template<typename T> +T& max(T& a, T& b) +{ + return a > b ? a : b; +} + +int main() +{ + int a = 2; + int b = 3; + + ::swap(a, b); + std::cout << "a = " << a << ", b = " << b << std::endl; + std::cout << "min( a, b ) = " << ::min( a, b ) << std::endl; + std::cout << "max( a, b ) = " << ::max( a, b ) << std::endl; + + std::string c = "chaine1"; + std::string d = "chaine2"; + + ::swap(c, d); + std::cout << "c = " << c << ", d = " << d << std::endl; + std::cout << "min( c, d ) = " << ::min( c, d ) << std::endl; + std::cout << "max( c, d ) = " << ::max( c, d ) << std::endl; + + return 0; +} |
