Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Boss 2.0.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include<iostream>
- using namespace std;
- class Enemy
- {
- public:
- Enemy();
- void Attack() const;
- protected:
- int m_Damage;
- };
- Enemy::Enemy():m_Damage(10)
- {
- }
- void Enemy::Attack() const
- {
- cout << "Attack inflicts " << m_Damage << " damage points!" << endl;
- }
- class Boss :public Enemy
- {
- public:
- Boss();
- void SpecialAttack() const;
- private:
- int m_DamageMultiplier;
- };
- Boss::Boss(): m_DamageMultiplier(3)
- {
- }
- void Boss::SpecialAttack() const
- {
- cout << "Special Attack inflicts " << (m_DamageMultiplier * m_Damage);
- cout << " damage points!\n";
- }
- class FinalBoss :public Enemy
- {
- public:
- FinalBoss();
- void MegaAttack() const;
- private:
- int m_DamageMultiplier;
- };
- FinalBoss::FinalBoss():
- m_DamageMultiplier(10)
- {
- }
- void FinalBoss::MegaAttack() const
- {
- cout << "Mega Attack inflicts " << (m_DamageMultiplier * m_Damage);
- cout << " damage points!\n";
- }
- int main()
- {
- cout << "Creating an enemy.\n";
- Enemy enemy1;
- enemy1.Attack();
- cout << "\nCreating a boss.\n"; Boss boss1;
- boss1.Attack();
- boss1.SpecialAttack();
- cout << "\nCreating a Final boss.\n";
- FinalBoss bossy;
- bossy.Attack();
- bossy.MegaAttack();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement