aboutsummaryrefslogtreecommitdiff
path: root/cpp01/ex00
diff options
context:
space:
mode:
Diffstat (limited to 'cpp01/ex00')
-rw-r--r--cpp01/ex00/Pony.cpp20
-rw-r--r--cpp01/ex00/Pony.hpp15
-rw-r--r--cpp01/ex00/main.cpp24
3 files changed, 59 insertions, 0 deletions
diff --git a/cpp01/ex00/Pony.cpp b/cpp01/ex00/Pony.cpp
new file mode 100644
index 0000000..f521d4b
--- /dev/null
+++ b/cpp01/ex00/Pony.cpp
@@ -0,0 +1,20 @@
+#include <iostream>
+#include "Pony.hpp"
+
+Pony::Pony(int w, int s)
+{
+ weight = w;
+ max_speed = s;
+}
+
+void Pony::say_hello()
+{
+ std::cout << "Hi, I'm a pony, I weight " << weight
+ << " and my speed limit is " << max_speed << std::endl;
+}
+
+void Pony::run()
+{
+ for (int i = 0; i < max_speed; i++)
+ std::cout << "I'm running really fast at " << i << ", look at me!" << std::endl;
+}
diff --git a/cpp01/ex00/Pony.hpp b/cpp01/ex00/Pony.hpp
new file mode 100644
index 0000000..31a69f4
--- /dev/null
+++ b/cpp01/ex00/Pony.hpp
@@ -0,0 +1,15 @@
+#ifndef PONY_HPP
+# define PONY_HPP
+
+class Pony
+{
+ public:
+ Pony(int w, int s);
+ void say_hello();
+ void run();
+ private:
+ int weight;
+ int max_speed;
+};
+
+#endif
diff --git a/cpp01/ex00/main.cpp b/cpp01/ex00/main.cpp
new file mode 100644
index 0000000..c8aa0b8
--- /dev/null
+++ b/cpp01/ex00/main.cpp
@@ -0,0 +1,24 @@
+#include <iostream>
+#include "Pony.hpp"
+
+void ponyOnTheHeap()
+{
+ Pony *p = new Pony(200, 100);
+ p->say_hello();
+ p->run();
+ delete p;
+}
+
+void ponyOnTheStack()
+{
+ Pony p(200, 100);
+ p.say_hello();
+ p.run();
+}
+
+int main()
+{
+ ponyOnTheHeap();
+ ponyOnTheStack();
+ return 0;
+}