vc6.0中,简单程序的编译连接的LINK2001异常

vc6.0中,简单程序的编译连接的LINK2001错误
刚开始学习C++,做书上的一个类的例子,先写了头文件:stack.h,然后写了实现文件stack.cpp,然后又写了应用程序stacker.cpp,将这三个文件放在一个文件夹中,编译stack.cpp和stacker.cpp的时候都没有错误,但是当链接stacker.cpp的时候就出现了LINK2001的错误,下面是具体的代码和错误:
---stack.h---
#ifndef STACK_H_
#define STACK_H_
typedef unsigned long Item;
class Stack
{
private:
enum {MAX=10};
Item items[MAX];
int top;
public:
Stack();
bool isempty() const;
bool isfull() const;
bool push(const Item & item);
bool pop(Item & item);
};
#endif
---stack.cpp---
#include "stack.h"

Stack::Stack()
{
top=0;
}

bool Stack::isempty()const
{
return top==0;
}

bool Stack::isfull() const
{
return top==MAX;
}

bool Stack::push(const Item & item)
{
if(top<MAX)
{
items[top++]=item;
return true;
}
else 
return false;
}

bool Stack::pop(Item & item)
{
if(top>0)
{
item=items[--top];
return true;
}
else
return false;
}
---stacker.cpp---
#include<iostream>
#include<cctype>
#include"stack.h"
int main()
{
using namespace std;
Stack st;
char ch;
unsigned long po;
cout<<"Please enter A to add purchase order, \n"
<<"P to process a PO, or Q to quit.\n";
while (cin>>ch && toupper(ch)!='Q')
{
while(cin.get()!='\n')
continue;
if(!isalpha(ch))
{
cout<<'\a';
continue;
}
switch (ch)
{
case 'A':
case 'a':cout<<"Enter PO number to add: ";
cin>>po;
if(st.isfull())
cout<<"stack already full.\n";
else
st.push(po);
break;
case 'p':
case'P':if(st.isempty())
cout<<"stack already empty\n";
else
{
st.pop(po);
cout<<"PO # "<<po<<" popped\n";
}
break;

}
cout<<"Please enter A to add a purchase order, \n"
<<"P to process a PO,or Q to quit.\n";
}
cout<<"Bye\n";
return 0;
}

---链接错误---

Linking...
stacker.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Stack::pop(unsigned long &)" (?pop@Stack@@QAE_NAAK@Z)
stacker.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Stack::isempty(void)const " (?isempty@Stack@@QBE_NXZ)
stacker.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Stack::push(unsigned long const &)" (?push@Stack@@QAE_NABK@Z)
stacker.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Stack::isfull(void)const " (?isfull@Stack@@QBE_NXZ)
stacker.obj : error LNK2001: unresolved external symbol "public: __thiscall Stack::Stack(void)" (??0Stack@@QAE@XZ)
Debug/stacker.exe : fatal error LNK1120: 5 unresolved externals
执行 link.exe 时出错.