Why you need pointers in your program at all? By the way here is an example:
class clsStudent
{
public:
void setProgram(clsProgram *x) { programEnrolled=x; }
clsProgram *getProgram() const { return programEnrolled; }
...
};
clsStudent student;
student.getProgram()->programName;