aboutsummaryrefslogtreecommitdiff
path: root/cpp07/ex00/whatever.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp07/ex00/whatever.cpp')
-rw-r--r--cpp07/ex00/whatever.cpp55
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;
+}