大神帮忙,该怎么解决

大神帮忙
#include<iostream>
#include<cstring>
#include<iomanip>
#include<string>
using namespace std;
class Employee
{
public:
Employee(const long,const char *);
virtual ~Employee();
const char * getName() const;
const long getNumber() const;
virtual double earnings() const=0;
virtual void print() const;
protected:
long number;
char * name;
};
class Manager:public Employee
{
public:
Manager(const long ,const char *,double =0.0);
~Manager();
void setMonthlySalary(double);
double earnings() const;
void print() const;
private:
double monthlySalary;
};

Employee::Employee(const long k,const char * str)
{
number=k;
name=new char[strlen(str)+1];
strcpy_s(name,strlen(str)+1,str);
}
Employee::~Employee()
{
delete [] name;
}
const char * Employee::getName() const
{
return name;
}
const long Employee::getNumber() const
{
return number;
}
void Employee::print() const
{
cout<<number<<std::setw(16)<<name;
}
Manager::Manager(const long k,const char * str,double sal):Employee(k,str)
{
setMonthlySalary(sal);
}
void Manager::setMonthlySalary(double sal)
{
monthlySalary=sal>0?sal:0;
}
double Manager::earnings() const
{
return monthlySalary;
}
void Manager::print() const
{
Employee::print();
cout<<std::setw(16)<<"Manager\n";
cout<<"\tearned $"<<monthlySalary<<endl;
}
void test1()
{
Manager m1(101,"Cheng ShaoHua",1200);
Manager m2(102,"Yan HaiFeng");
m2.setMonthlySalary(5300);

Employee *basePtr;
basePtr=&m1; basePtr->print();
basePtr=&m2; basePtr->print();
}
void main()
{
test1();
}
结果是 >hg.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall Manager::~Manager(void)" (??1Manager@@UAE@XZ) referenced in function "public: virtual void * __thiscall Manager::`scalar deleting destructor'(unsigned int)" (??_GManager@@UAEPAXI@Z)
看不懂啊
------解决思路----------------------
~Manager
析构函数没有定义