前言
原因是这样的,eclipse有那种生成实体类的插件,可是我感觉装来装去很麻烦,于是我想,干脆自己做一个生成实体类的工具吧,说做就做,然后就自己花了两个小时左右做出来了一个,以后应该能大大提高工作效率吧。
实现方法
输入:属性个数
输入:type virableName
输出:d盘下面的example文件,该文件里面生成了实体类的代码
原理就是填充数据而已。。。根本没有难度
然后用了map模板把数据存起来了
使用截图
**这个是数据截图,CKCommand表示类,5表示有几个属性,剩下的都是数据属性
然后把这个数据复制进控制台运行就可以了**
运行截图
最后的实体类截图
注意去D盘下面找
代码
#include <iostream>
#include <string>
#include <map>
#include <fstream>
using namespace std;
int main()
{
int num; //总体的成员个数
string which1, Vname,classname;
map<string, string > mapStudent; //这个我服了
map <string, string >::iterator m1_Iter;
cin >> classname;
cin >> num;
for (int i = 0; i<num; i++){
cin >> which1 >> Vname;
mapStudent[Vname] = which1;
}
cout << "Congratulation that you are success!"<<endl;
ofstream examplefile("d:\\example.txt");
if (examplefile.is_open())
{
examplefile << "class "<<classname<<" implements Serializable{\n\n";
for (m1_Iter = mapStudent.begin(); m1_Iter != mapStudent.end(); m1_Iter++){
//cout << "diyige " << m1_Iter->first << " " << m1_Iter->second.first << " " << m1_Iter->second.second << endl;
examplefile <<" private "<< m1_Iter->second << " " << m1_Iter->first <<";\n";
}
//first constructor
examplefile << "\n//无参数的构造器\n";
examplefile << " public " << classname << "(){\n";
examplefile << "\n";
examplefile << " }\n\n";
//第二个构造器
examplefile << "//有参数的构造器\n";
examplefile << " public " << classname << "("; //打印到括号地方了
for (m1_Iter = mapStudent.begin(); m1_Iter != mapStudent.end(); m1_Iter++){
if (m1_Iter != mapStudent.end()){
examplefile << m1_Iter->second << " " << m1_Iter->first << ",";
}
else{
examplefile << m1_Iter->second << " " << m1_Iter->first;
}
}
examplefile << "){\n";
//构造函数里面的内容
for (m1_Iter = mapStudent.begin(); m1_Iter != mapStudent.end(); m1_Iter++){
//examplefile << m1_Iter->second.first << " " << m1_Iter->second.second << ",";
examplefile << " this." << m1_Iter->first << " = " << m1_Iter->first << ";\n";
}
examplefile << " }\n";
//----------------------------- 构造函数内容结束---------------------------------
//----------------------------- get方法开始--------------------------------------
examplefile << "\n//GET跟SET方法都在这里\n";
for (m1_Iter = mapStudent.begin(); m1_Iter != mapStudent.end(); m1_Iter++){
//examplefile << m1_Iter->second.first << " " << m1_Iter->second.second << ",";
//examplefile << "this." << m1_Iter->second.second << " = " << m1_Iter->second.second << "\n";
examplefile << " public " << m1_Iter->second << " Get" << m1_Iter->first << "(){\n";
examplefile << " return " << m1_Iter->first << ";\n";
examplefile << " }\n\n";
//--------------------------------set方法继续--------------------------------
examplefile << " public void Set" << m1_Iter->first << "(" << m1_Iter->second << " " << m1_Iter->first\
<< "){\n";
examplefile << " this." << m1_Iter->first << "=" << m1_Iter->first<< ";\n";
examplefile << " }\n\n";
}
//完结撒花
examplefile << "}\n";
examplefile.close();
}
system("pause");
return 0;
}