Im trying to learn how to use virtual functions and inheritance, i folloiwed an example but made my own classes and functions, when i compile the program i get no errors but when the console window starts it crashes immediatley, not sure whats wrong.
Code:
#include <iostream>
using namespace std;
class Actor
{
public:
Actor(float actorHealth, string actorName, float actorAttackPower): actorHealth(100), actorName("Default_Actor"), actorAttackPower(0) {}
~Actor();
virtual string GetActorName(){ return actorName; }
virtual float GetActorHealth(){ return actorHealth; }
virtual float GetActorAttackPower(){ return actorAttackPower; }
protected:
float actorHealth;
string actorName;
float actorAttackPower;
};
class Velociraptor : public Actor
{
public:
Velociraptor(float actorHealth, string actorName, float actorAttackPower): Actor(actorHealth, actorName, actorAttackPower) {}
string GetActorName(){ return actorName; }
float GetActorHealth(){ return actorHealth; }
float GetActorAttackPower(){ return actorAttackPower; }
};
class TRex : public Actor
{
public:
TRex(float actorHealth, string actorName, float actorAttackPower): Actor(actorHealth, actorName, actorAttackPower){}
string GetActorName(){ return actorName; }
float GetActorHealth(){ return actorHealth; }
float GetActorAttackPower(){ return actorAttackPower; }
};
class Player : public Actor
{
public:
Player(float actorHealth, string actorName, float actorAttackPower): Actor(actorHealth, actorName, actorAttackPower) {}
string GetActorName(){ return actorName; }
float GetActorHealth(){ return actorHealth; }
float GetActorAttackPower(){ return actorAttackPower; }
};
int main()
{
// Create objects of type CheckingAccount and SavingsAccount.
Velociraptor *pVelociraptor = new Velociraptor(100, "Velociraptor", 30);
//TRex *pTRex = new TRex(100, "T-Rex", 37);
Actor *pActor = pVelociraptor;
cout << pActor->GetActorName();
}