aboutsummaryrefslogtreecommitdiff
path: root/cpp07/ex00/whatever.cpp
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-04-14 20:42:26 +0200
committerCharles <sircharlesaze@gmail.com>2020-04-14 20:42:26 +0200
commit7ac812044bfe771178752a52d70b18bb297c1891 (patch)
tree5f5faf0d627304cdfe1f1f45194b3da76653fff8 /cpp07/ex00/whatever.cpp
parentefea8712aaf8169b1184cceb83705ca6b8783173 (diff)
downloadpiscine_cpp-7ac812044bfe771178752a52d70b18bb297c1891.tar.gz
piscine_cpp-7ac812044bfe771178752a52d70b18bb297c1891.tar.bz2
piscine_cpp-7ac812044bfe771178752a52d70b18bb297c1891.zip
cpp07 done, cpp06 ex00 and ex01 start
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;
+}