上课作业遇到问题,帮忙看一下
要求是这样的:
设计一个字典类 dic 功能:添加单词,英汉翻译
数据成员:单词库englishwords
对照中文含义库chinesewords
词典指针mark
成员函数:
添加单词add();
翻译translate();
dic D1;
D1.add("I" "我")
D1.add("a" "一个")
……
D1.trans("I an a student")
输出 我是一个学生
//////////////////////////////////////////////
//////////////////////////////////////////////
下面是我的程序了,三个文件:
//////////////////////////////////////////////
//////////////////////////////////////////////
//-----------------------------------------------dic.h
#include<string>
using namespace std;
//
class Dictionary
{
public:
//
Dictionary()
{
string EnglishWords[100]={""};
string ChineseWords[100]={""};
mark=0;
}
int Add(string enword,string chword);
void Translate();
private:
//
string EnglishWords[100];
string ChineseWords[100];
int mark;
};
/////////////////////////////////////////////
//----------------------------------------------dic.cpp
#include<iostream>
#include"dic.h"
int Dictionary::Add(string enword,string chword)
{
if(mark>=100){cout<<"error!"<<endl;return -1;}
EnglishWords[mark]=enword;
ChineseWords[mark]=chword;
mark++;
return 0;
}
void Dictionary::Translate()
{
string word;
int i;
while(cin>>word)
{
for(i=0;i<mark;i++)
{
if(EnglishWords[i]==word)
{
cout<<ChineseWords[i]<<endl;
break;
}
}
}
}
//////////////////////////////////////////////
//---------------------------------------------dicmain.cpp
#include"dic.h"
int main()
{
Dictionary a1;
a1.Add("I","我");
a1.Translate();
return 0;
}
///////////////////////////////////////////////
///////////////////////////////////////////////
编译没有问题,连接的时候报错:
Linking...
dicmain.obj : error LNK2001: unresolved external symbol "public: void __thiscall Dictionary::Translate(void)" (?Translate@Dictionary@@QAEXXZ)
dicmain.obj : error LNK2001: unresolved external symbol "public: int __thiscall Dictionary::Add(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >)" (?Add@Dictionary@@QAEHV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z)
dicmain.obj : error LNK2001: unresolved external symbol "private: static int Dictionary::mark" (?mark@Dictionary@@0HA)
Debug/dicmain.exe : fatal error LNK1120: 3 unresolved externals
执行 link.exe 时出错.
dicmain.exe - 1 error(s), 0 warning(s)
//////////////////////////////////////////////////
//////////////////////////////////////////////////
错误的话,帮我找出现在提示的这个就行了(自己感觉Translate这个函数可能还有问题)
麻烦帮我看看是怎么回事,一周就一节课,没地方问真不方便,尤其是错误看不懂的时候。各位拜托了!