fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Enemy
  5. {
  6. public:
  7. void SetAttackPower (int a)
  8. {
  9. AttackPower = a;
  10. }
  11. virtual void attack() = 0;
  12. virtual ~Enemy() {};
  13. protected:
  14. int AttackPower;
  15. };
  16.  
  17. class Monster: public Enemy
  18. {
  19. public:
  20. virtual void attack ()
  21. {
  22. cout << "uaghhh. i am going to eat you -" << AttackPower << endl;
  23. }
  24. ~Monster(){}
  25. };
  26.  
  27. class Ninja: public Enemy
  28. {
  29. public:
  30. virtual void attack()
  31. {
  32. cout << "chop-chop -" << AttackPower << endl;
  33. }
  34. ~Ninja(){}
  35. };
  36.  
  37. int main()
  38. {
  39. Enemy* enemy1 = new Ninja();
  40. Enemy* enemy2 = new Monster();
  41. enemy1->SetAttackPower(22);
  42. enemy2->SetAttackPower(25);
  43. enemy1->attack();
  44. enemy2->attack();
  45. delete enemy1;
  46. delete enemy2;
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
chop-chop -22
uaghhh. i am going to eat you -25