Il programma Semplice Capo dimostra il
concetto di ereditarietà. In esso, viene definita una classe di
nemici inferiori, Nemico. Da questa classe viene derivata una
nuova classe per i Capi più resistenti che il giocatore deve
affrontare. Quindi viene istanziato un oggetto Nemico e
richiamata la sua funzione membro Attacco(). Di seguito viene
istanziato un oggetto Capo, del quale è possibile richiamare
la funzione Attacco(), in quanto eredita la funzione membro da
Nemico. Infine viene richiamata la funzione membro
AttaccoSpeciale() definita solo per la classe Capo.
Mentre la classe Nemico non ha accesso a questa funzione in quanto
esclusiva del capo.
//Semplice Capo
//Dimostrazione ereditarietà
#include <iostream>
using namespace std;
class Nemico
{
public: int m_Danno;
Nemico(): m_Danno(10){}
void Attacco const
{ cout << “Attacco
infligge” << m_Danno << “ punti danno.\n”;}
};
class Capo: public Nemico
{
public: int m_MultiDanno;
Capo():m_MultiDanno(3){}
void AttaccoSpeciale()
const
{ cout << “Attacco
Speciale infligge” << (m_MultiDanno * m_Danno);
cout << “ punti
danno.\n”;}
};
int main()
{
cout << “Crea un
nemico.\n”;
Nemico nemico1;
nemico1.Attacco();
cout << “\n Crea un
capo. \n”;
Capo capo1;
capo1.Attacco();
capo1.AttaccoSpeciale();
return 0;
}
Nessun commento:
Posta un commento