Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.64 KB | None | 0 0
  1. #include <iostream>
  2.  
  3.  
  4. class CUnit {
  5. public:
  6.     virtual ~CUnit();
  7.  
  8.     virtual void Attack(CUnit&) = 0;
  9.     virtual void TakeDamage(const size_t&) = 0;
  10.  
  11.     virtual bool IsAlive();
  12.  
  13.     virtual void SetCost(const int&);
  14.     virtual void SetDamage(const int&);
  15.     virtual void SetHealth(const int&);
  16.     virtual void SetLevel(const int&);
  17.     virtual void SetXP(const int&);
  18.  
  19.     virtual int& GetCost();
  20.     virtual int& GetDamage();
  21.     virtual int& GetHealth();
  22.     virtual int& GetLevel();
  23.     virtual int& GetXP();
  24.  
  25. protected:
  26.     int cost;
  27.     int damage;
  28.     int health;
  29.     int level;
  30.     int xp;
  31. };
  32.  
  33. class CWizard : public CUnit {
  34. public:
  35.     CWizard();
  36.     virtual ~CWizard();
  37.  
  38.     void Attack(CUnit&) override;
  39.     void TakeDamage(const size_t&) override;
  40. };
  41.  
  42. class CWarrior : public CUnit {
  43. public:
  44.     CWarrior();
  45.     virtual ~CWarrior();
  46.  
  47.     void Attack(CUnit&) override;
  48.     void TakeDamage(const size_t&) override;
  49. };
  50.  
  51. class CSupport : public CUnit {
  52. public:
  53.     CSupport();
  54.     virtual ~CSupport();
  55.  
  56.     void Attack(CUnit&) override;
  57.     void TakeDamage(const size_t&) override;
  58.     void Heal(CUnit&, const size_t&);
  59. };
  60.  
  61. class CProvocateur : public CUnit {
  62. public:
  63.     CProvocateur();
  64.     virtual ~CProvocateur();
  65.  
  66.     void Attack(CUnit&) override;
  67.     void TakeDamage(const size_t&) override;
  68. };
  69.  
  70. class CDestroyer : public CUnit {
  71. public:
  72.     CDestroyer();
  73.     virtual ~CDestroyer();
  74.  
  75.     void Attack(CUnit&) override;
  76.     void TakeDamage(const size_t&) override;
  77.     void Destroy(CUnit&);
  78. };
  79.  
  80.  
  81.  
  82. int main() {
  83.     CUnit* a = new CWizard;
  84.     //a->GetCost();
  85.     return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement