aboutsummaryrefslogtreecommitdiff
path: root/cpp04/ex01/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp04/ex01/main.cpp')
-rw-r--r--cpp04/ex01/main.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/cpp04/ex01/main.cpp b/cpp04/ex01/main.cpp
index 7b0729c..7b36816 100644
--- a/cpp04/ex01/main.cpp
+++ b/cpp04/ex01/main.cpp
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/14 09:05:58 by charles #+# #+# */
-/* Updated: 2020/11/17 09:16:14 by cacharle ### ########.fr */
+/* Updated: 2020/12/11 11:02:36 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -217,5 +217,33 @@ int main()
c.attack(r);
}
+ std::cout << std::endl;
+
+ {
+ std::cout << "================ MORE DERIVED ====================" << std::endl;
+ Character c("YOP");
+ Enemy* r = new RadScorpion();
+ Enemy* s = new SuperMutant();
+ Enemy* n = new NotSoRadScorpion();
+ c.attack(r);
+ c.attack(s);
+ c.attack(n);
+ AWeapon *pr = new PlasmaRifle();
+ AWeapon *pf = new PowerFist();
+ AWeapon *npr = new ThisIsNotAPlasmaRifle();
+ c.equip(pr);
+ c.attack(n);
+ c.equip(pf);
+ c.attack(s);
+ c.equip(npr);
+ c.attack(r);
+ delete npr;
+ delete pf;
+ delete pr;
+ delete n;
+ delete s;
+ delete r;
+ }
+
return 0;
}