After:
class course
{
public:
virtual void print(){ cout << name << " (" << courseNumber << ") "; }
string getType() { return "course"; }
protected:
string name;
int courseNumber;
};
class lab: public course
{
public:
virtual void print(){ cout << name << " has lab fee $ " << labFee; }
string getType() { return "lab"; }
private:
double labFee;
};
class grad: public course
{
public:
virtual void print(){ cout << name << " has graduate tuition $ " << tuition; }
string getType() { return "grad"; }
private:
double tuition;
};
int main()
{
course * schedule[4];
schedule[0] = new course;
schedule[1] = new lab;
schedule[2] = new grad;
schedule[3] = new course;
for( int index = 0; index < 4; index++ )
{
schedule[index]->print();
}
}