首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

error LNK2019: 没法解析的外部符号 哪位大神帮帮看看啊

2013-09-17 
error LNK2019: 无法解析的外部符号 哪位大神帮帮看看啊?#includeiostream#pragma comment(lib,ws2_32.

error LNK2019: 无法解析的外部符号 哪位大神帮帮看看啊?

#include<iostream>
#pragma comment(lib,"ws2_32.lib")
using  std::cout;
using std::cin;
class Staff{
private:
int id;
char name[10];
int position;
int month;
double sal;
public:
Staff(){
id=0;
char name[10]="bag";
position=1;
month=1;
sal=0;
};
Staff(int Tid,char Tname[10],int Tposition);
void setID(int id);
void setName(char name[10]);
void setPosition(int position);
void setMonth(int month);
virtual void setSal(double sal);
double getSal();
void info(int pos,int Tid,char name[10]);
void search();
void countSal();
void recordInfo();
void recordSal();
~Staff();
};


class TechStaff :public Staff{
private:
double workTime;
public:
TechStaff(double WorkTime);
void setWorkTime(double time);
void countSal();
};
class SaleMan:public Staff{
private:
double salNum;
public:
SaleMan(double salN);
void countSal();
void setSalNum(double num);
};
class Secretary:public Staff{
private:
double baseSal;
double award;
public:
Secretary(double ad);
void countSal();
void setAward(double ad);
};
class Manager:public Staff{
protected:
double baseSal;
public:
Manager(){};
Manager(double bSal);
void countSal();
double getBaseSal();
};

class TechManager:public Manager
{
protected:
int adLevel;

public:
TechManager(){};
TechManager(int level);
void countSal();
void setAdLevel(int level);
};


这个个是头文件

#include"标头.h"
Staff::Staff(int Tid,char Tname[10],int Tposition){
id=Tid;
name[10]=Tname[10];
position=Tposition;
}
void Staff::setID(int Tid){
id=Tid;
};
void Staff::setName(char Tname[10]){
name[10]=Tname[10];
}
void Staff::setMonth(int Tmonth){
month=month;
}
void Staff::setPosition(int Tposition){
position=position;
}
void Staff::setSal(double Tsal){
sal=Tsal;
}
double Staff::getSal(){
return sal;
}
void Staff::info(int pos,int Tid,char Tname[10]){
Staff(Tid,Tname,pos);
std::string tec="Technician";



if(pos=1)
{
double Ttime;
cout<<"input your workTime\n";
cin>>Ttime;
TechStaff ts(Ttime);
ts.setWorkTime(Ttime);
ts.countSal();
}


}

TechStaff::TechStaff(double WorkTime):Staff(){
workTime=WorkTime;
};
void TechStaff::setWorkTime(double time){
workTime=time;
}
void TechStaff::countSal(){
double tempSal;
tempSal=workTime*35;
setSal(tempSal);
std::cout<<getSal();
}

SaleMan::SaleMan(double salN):Staff()
{
salNum=salN;
}

void SaleMan::setSalNum(double num)
{
salNum=num;
}
void SaleMan::countSal(){
double tempSal;
tempSal=salNum*0.05;
setSal(tempSal);
std::cout<<getSal();
}

Secretary::Secretary(double ad):Staff(){
baseSal=4000;
award=ad;
}
void Secretary::countSal(){
setSal(baseSal+award);
std::cout<<getSal();
}
void Secretary::setAward(double ad){
award=ad;
}
Manager::Manager(double bSal){
baseSal=bSal;
}
double Manager::getBaseSal(){
return baseSal;
}

TechManager::TechManager(int level){
adLevel=level;
}
void TechManager::countSal(){
double temp=baseSal+adLevel*1000;
}
void TechManager::setAdLevel(int level){
adLevel=level;
}



这个是实现

#include<iostream>
void show();
using namespace std;
#include"标头.h"
void main(){
show();
int id;
char name[10];
int position;
cin>>id;
cin>>name;
cin>>position;
Staff s;
s.info(position,id,name);
}
void show(){
std::cout<<"Input your information including your ID, Name, Position\n";
std::cout<<"posno:        ";
std::cout<<"Position     \n";
std::cout<<"No1-------Technician\n"
<<"No2-------Salman\n"
<<"No3-------Secretary\n"
<<"No4-------TechManager\n"
<<"No5-------SalManager\n";
}








这个是一个小作业 刚写到第一步就这样了 大神求助! error


[解决办法]
~Staff()的函数实现没有啊
[解决办法]
改成~Staff(){}就可以了
[解决办法]
这个错误信息写的很清楚了

你没有实现Staff类的析构函数。
如果不需要析构函数,可以将它从类的定义里去掉,既然写进去了就要实现

热点排行