Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- class CUnit {
- public:
- virtual ~CUnit();
- virtual void Attack(CUnit&) = 0;
- virtual void TakeDamage(const size_t&) = 0;
- virtual bool IsAlive();
- virtual void SetCost(const int&);
- virtual void SetDamage(const int&);
- virtual void SetHealth(const int&);
- virtual void SetLevel(const int&);
- virtual void SetXP(const int&);
- virtual int& GetCost();
- virtual int& GetDamage();
- virtual int& GetHealth();
- virtual int& GetLevel();
- virtual int& GetXP();
- protected:
- int cost;
- int damage;
- int health;
- int level;
- int xp;
- };
- class CWizard : public CUnit {
- public:
- CWizard();
- virtual ~CWizard();
- void Attack(CUnit&) override;
- void TakeDamage(const size_t&) override;
- };
- class CWarrior : public CUnit {
- public:
- CWarrior();
- virtual ~CWarrior();
- void Attack(CUnit&) override;
- void TakeDamage(const size_t&) override;
- };
- class CSupport : public CUnit {
- public:
- CSupport();
- virtual ~CSupport();
- void Attack(CUnit&) override;
- void TakeDamage(const size_t&) override;
- void Heal(CUnit&, const size_t&);
- };
- class CProvocateur : public CUnit {
- public:
- CProvocateur();
- virtual ~CProvocateur();
- void Attack(CUnit&) override;
- void TakeDamage(const size_t&) override;
- };
- class CDestroyer : public CUnit {
- public:
- CDestroyer();
- virtual ~CDestroyer();
- void Attack(CUnit&) override;
- void TakeDamage(const size_t&) override;
- void Destroy(CUnit&);
- };
- int main() {
- CUnit* a = new CWizard;
- //a->GetCost();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement