header file with a class definition for each object Ask yourself these questions:

  • How do I interact with this object?
  • What variables are used for data storage? access modifiers?
  • Getter and setter methods?
#ifndef LEGACYPLAYER_H
#define LEGACYPLAYER_H

class LegacyPlayer {
    public:
        LegacyPlayer();
        ~LegacyPlayer();
        
        void createPlayer();
        void updateAttributes(Attribute attribute);
        void setTeam(Team team);
        void trackProgress();
        void exportToPros();

};

#endif

#ifndef DYNASTYMODE_H
#define DYNASTYMODE_H

class DynastyMode {
    public:
        DynastyMode();
        ~DynastyMode();
        
        void integratePlayer(LegacyPlayer player);
        void progressSeason();
        void generateEvents();

};

#endif

#ifndef TEAM_H
#define TEAM_H
class Team {
    public:
        Team();
        ~Team();
        
        void addPlayer(LegacyPlayer player);
        void removePlayer(LegacyPlayer player);
        void updateRoster();

};

#endif
    
#ifndef ACHIEVEMENT_H
#define ACHIEVEMENT_H

class Achievement {
    public:
        Achievement();
        ~Achievement();
        
        void unlock();
        void notifyPlayer();

};
#endif

#ifndef PLAYERGOAL_H
#define PLAYERGOAL_H
class PlayerGoal {
    public:
        PlayerGoal();
        ~PlayerGoal();
        
        void updateProgress();
        void complete();
        void checkDeadline();

};
#endif

#ifndef GROWTHPATH_H
#define GROWTHPATH_H

class GrowthPath {
    public:
        GrowthPath();
        ~GrowthPath();
        
        void updatePath();
        void calculateGrowth();
        void getProjectedStats();

};
#endif

#ifndef POSITION_H
#define POSITION_H

class Postiion {
    public:
        Position();
        ~Position();
        
        void getRequiredAttributes();
        void validateAttributes();

};
#endif

#ifndef ATTRIBUTE_H
#define ATTRIBUTE_H

class Attribute {
    public:
        Attribute();
        ~Attribute();
        
        void getAttribute();
        void setAttribute();

};
#endif

#ifndef GOALTYPE_H
#define GOALTYPE_H

class GoalType {
    public:
        GoalType();
        ~GoalType();
        
        void getGoalType();
        void setGoalType();

};
#endif

#ifndef ACHIEVEMENTTYPE_H
#define ACHIEVEMENTTYPE_H

class AchievementType {
    public:
        AchievementType();
        ~AchievementType();
        
        void getAchievementType();
        void setAchievementType();

};

#endif


#ifndef LEGACYPLAYER_H
#define LEGACYPLAYER_H

class LegacyPlayer {
    public:
        LegacyPlayer();
        ~LegacyPlayer();
        
        void createPlayer();
        void updateAttributes(Attribute attribute);
        void setTeam(Team team);
        void trackProgress();
        void exportToPros();

};

#endif

#ifndef DYNASTYMODE_H
#define DYNASTYMODE_H

class DynastyMode {
    public:
        DynastyMode();
        ~DynastyMode();
        
        void integratePlayer(LegacyPlayer player);
        void progressSeason();
        void generateEvents();

};

#endif

#ifndef TEAM_H
#define TEAM_H
class Team {
    public:
        Team();
        ~Team();
        
        void addPlayer(LegacyPlayer player);
        void removePlayer(LegacyPlayer player);
        void updateRoster();

};

#endif
    
#ifndef ACHIEVEMENT_H
#define ACHIEVEMENT_H

class Achievement {
    public:
        Achievement();
        ~Achievement();
        
        void unlock();
        void notifyPlayer();

};
#endif

#ifndef PLAYERGOAL_H
#define PLAYERGOAL_H
class PlayerGoal {
    public:
        PlayerGoal();
        ~PlayerGoal();
        
        void updateProgress();
        void complete();
        void checkDeadline();

};
#endif

#ifndef GROWTHPATH_H
#define GROWTHPATH_H

class GrowthPath {
    public:
        GrowthPath();
        ~GrowthPath();
        
        void updatePath();
        void calculateGrowth();
        void getProjectedStats();

};
#endif

#ifndef POSITION_H
#define POSITION_H

class Postiion {
    public:
        Position();
        ~Position();
        
        void getRequiredAttributes();
        void validateAttributes();

};
#endif


#ifndef ATTRIBUTE_H
#define ATTRIBUTE_H

class Attribute {
    public:
        Attribute();
        ~Attribute();
        
        void getAttribute();
        void setAttribute();

};
#endif

#ifndef GOALTYPE_H
#define GOALTYPE_H

class GoalType {
    public:
        GoalType();
        ~GoalType();
        
        void getGoalType();
        void setGoalType();

};
#endif

#ifndef ACHIEVEMENTTYPE_H
#define ACHIEVEMENTTYPE_H

class AchievementType {
    public:
        AchievementType();
        ~AchievementType();
        
        void getAchievementType();
        void setAchievementType();

};

#endif