前言原因是这样的,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;
}
以上就是用实体类工具使c++实现的生成java的详细内容。