大神帮忙

yuanhui0358 2015-01-27 10:42:31
#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)
看不懂啊
...全文
47 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanhui0358 2015-01-27
  • 打赏
  • 举报
回复
好吧,菜鸟让大神见笑了 最后一个问题析构函数写成 {} 或者{}; 都可以吗,就是差个分号
羽飞 2015-01-27
  • 打赏
  • 举报
回复
~Manager 析构函数没有定义

64,674

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧