一,封装的理解
通俗的说,封装就是把一类事物的属性和行为用类这种自定义的数据类型包装起来,该暴露的暴露,该隐藏的隐藏。
二,用C++封装词典
1,cidian.h 代码
#ifndef _CIDIAN_H_
#define _CIDIAN_H_
#include<iostream>
using namespace std;
#include<string>
#include<map>
#include<fstream>
#include<sstream>
class MyMap
{
public:
void diction();
private:
string english;
string chinese;
};
#endif
2.cidian.cpp 代码
#include"cidian.h"
void MyMap::diction()
{
map<string, string>m;
string line;
ifstream in("英汉词典.txt", ios::in);//用流打开文件
if (!in.is_open())
{
cout << "open error"<<endl;
}
while (getline(in, line))
{
istringstream str(line);//按空格分割函数,自带
string out1;
string out2;
str >> out1;
str >> out2;
m.insert(pair<string, string>(out1, out2));
}
string dic;
cout << "按q退出" << endl;
while (1)
{
cout << "输入单词" << endl;
cin >> dic;
if ("q" == dic)
{
break;
}
if(dic!= m[dic])
{
cout << "词库无该单词" << endl;
}
cout << "中文意思是" << m[dic] << endl;//键值对里访问元素
}
}
3.main.cpp 代码
#include"cidian.h"
int main()
{
MyMap mymap;
mymap.diction();
return 0;
}
注:此程序中是以空格解析,下载的词典不同,可以根据词典的断开方式书写解析代码