need help with object oriented program in Visual C++
<p>guys, I have the following code, but I'm getting error at compiling time... the error is at the end. Thanks
1st Class is "Person"</p>

<pre><code>#ifndef PERSON_H//protecting .h files
#define PERSON_H//protecting .h files
#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

class Person
{
public:
    Person();
    Person(string first, string last)
    {
        firstName = first;
        lastName = last;
    }
    virtual void setName(string first, string last)
    {
        firstName = first;
        lastName = last;
    }
    virtual void setWeightAge(int w, int a)
    {
        weight = w;
        age = a;
    }
    virtual string getFirstName()
    {
        return firstName;
    }
    virtual string getLastName()
    {
        return lastName;
    }
    virtual int getWeight()
    {
        return weight;
    }
    virtual int getAge()
    {
        return age;
    }
    virtual void printPerson()
    {
        cout &lt;&lt; "Name: " &lt;&lt; firstName &lt;&lt; " " &lt;&lt; lastName &lt;&lt; endl;
        cout &lt;&lt; "Age: " &lt;&lt; age &lt;&lt; endl;
        cout &lt;&lt; "Weight: " &lt;&lt; weight &lt;&lt; endl;
    }
protected:
    string firstName, lastName;
    int weight, age;
};
#endif
</code></pre>

<p>2nd Class is "Student"</p>

<pre><code>#ifndef STUDENT_H//protecting .h files
#define STUDENT_H//protecting .h files
#include &lt;iostream&gt;
#include &lt;string&gt;
#include "Person.h"
using namespace std;

class Student : public Person
{
public: 
    Student();
    Student(Person s)
    {
        sStudent = s;
    }
    virtual void setGPA(double g)
    {
        gpa = g;
    }
    virtual void setSchedule(string c, string t, string d)
    {
        stClass = c;
        time = time;
        days = d;
    }
    virtual void setGrade(char g)
    {
        grade = g;
    }
    virtual double getGPA()
    {
        if (grade == 'a') { gpa = 4.0; }
        if (grade == 'b') { gpa = 3.0; }
        if (grade == 'c') { gpa = 2.0; }
        else gpa = 0;
        return gpa;
    }
    virtual char getGrade()
    {
        return grade;
    }

    virtual void printSchedule()
    {
        cout &lt;&lt; "Class | Days | Time " &lt;&lt; endl;
        cout &lt;&lt; stClass &lt;&lt; " | " &lt;&lt; days &lt;&lt; " | " &lt;&lt; time &lt;&lt; endl;
    }
protected:
    string stClass, time, days;
    char grade;
    double gpa;
    Person sStudent;
};
#endif
</code></pre>

<p>and Main()</p>

<pre><code>#include &lt;iostream&gt;
#include "Student.h"
using namespace std;

int main()
{
    //creating a person
    Person john("John", "Smith");
    john.setWeightAge(180, 39);
    john.printPerson();

    //making john a student
    Student johnStdntMath(john);
    johnStdntMath.setSchedule("Math", "7:45", "M, W");
    johnStdntMath.setGrade('b');
    johnStdntMath.printPerson();
    johnStdntMath.printSchedule();

    system("pause");
    return 0;
</code></pre>

<p>errors:</p>

<pre><code>1&gt;------ Build started: Project: Person, Configuration: Debug Win32 ------
1&gt;  main.cpp
1&gt;main.obj : error LNK2019: unresolved external symbol "public: __thiscall Person::Person(void)" (??0Person@@QAE@XZ) referenced in function "public: __thiscall Student::Student(class Person)" (??0Student@@QAE@VPerson@@@Z)
1&gt;c:\users\jorge\documents\visual studio 2010\Projects\Person\Debug\Person.exe : fatal error LNK1120: 1 unresolved externals
}
</code></pre>
