首頁 >Java >java教程 >用實體類別工具使C++實作的生成java

用實體類別工具使C++實作的生成java

一个新手
一个新手原創
2017-09-08 14:03:222221瀏覽


前言

原因是这样的,eclipse有那种生成实体类的插件,可是我感觉装来装去很麻烦,于是我想,干脆自己做一个生成实体类的工具吧,说做就做,然后就自己花了两个小时左右做出来了一个,以后应该能大大提高工作效率吧。

实现方法

输入:属性个数
输入:type virableName
输出:d盘下面的example文件,该文件里面生成了实体类的代码

原理就是填充数据而已。。。根本没有难度
然后用了map模板把数据存起来了

使用截图

用實體類別工具使C++實作的生成java
**这个是数据截图,CKCommand表示类,5表示有几个属性,剩下的都是数据属性
然后把这个数据复制进控制台运行就可以了**

用實體類別工具使C++實作的生成java
运行截图

最后的实体类截图
用實體類別工具使C++實作的生成java
注意去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的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn