您的位置:首页 > 编程语言 > C语言/C++

python 建立 C++类和单例类脚本

2017-02-14 15:31 357 查看
这里分别是利用python 建立 C++类 和单例类的脚本

class

import sys
def CreatHeader(classname):
f=open(sys.argv[i]+".h",'w')
headermacro = "__"+classname.upper()+"_H"
f.write("#ifndef "+headermacro+'\r\n')
f.write("#define "+headermacro+'\r\n')
f.write('\r\n')
f.write("class "+classname+'\r\n')
f.write("{\r\n")
f.write("public:\r\n")
f.write(" "+classname+"();\r\n")
f.write(" "+classname+"(const " +classname+ "& i"+classname+");\r\n")
f.write(" ~"+classname+"();\r\n")
f.write("protected:\r\n")
f.write("private:\r\n")
f.write("};\r\n")

f.write("#endif //"+headermacro+'\r\n')
f.close()
def CreatSource(classname):
f=open(sys.argv[i]+".cpp",'w')
f.write("#include \""+classname+'.h\"\r\n')
f.write(classname+"::"+classname+"()\r\n")
f.write("{\r\n")
f.write("}\r\n")
f.write(classname+"::"+classname+"(const " +classname+ "& i"+classname+")\r\n")
f.write("{\r\n")
f.write("}\r\n")
f.write(classname+"::~"+classname+"()\r\n")
f.write("{\r\n")
f.write("}\r\n")

f.close()

for i in range(1, len(sys.argv)):
CreatHeader(sys.argv[i])
CreatSource(sys.argv[i])

单例class
import sys
def CreatHeader(classname):
f=open(sys.argv[i]+".h",'w')
headermacro = "__"+classname.upper()+"_H"
f.write("#ifndef "+headermacro+'\r\n')
f.write("#define "+headermacro+'\r\n')
f.write('\r\n')
f.write("class "+classname+'\r\n')
f.write("{\r\n")
f.write(" "+classname+"();\r\n")
f.write(" "+classname+"(const " +classname+ "& i"+classname+");\r\n")
f.write("public:\r\n")
f.write(" ~"+classname+"();\r\n")
f.write(" static "+classname+"* getInstance()\r\n")
f.write(" {\r\n")
f.write(" static "+classname+ " instance;\r\n")
f.write(" return &instance;\r\n")
f.write(" }\r\n")
f.write("protected:\r\n")
f.write("private:\r\n")
f.write("};\r\n")

f.write("#endif //"+headermacro+'\r\n')
f.close()
def CreatSource(classname):
f=open(sys.argv[i]+".cpp",'w')
f.write("#include \""+classname+'.h\"\r\n')
f.write(classname+"::"+classname+"()\r\n")
f.write("{\r\n")
f.write("}\r\n")
f.write(classname+"::"+classname+"(const " +classname+ "& i"+classname+")\r\n")
f.write("{\r\n")
f.write("}\r\n")
f.write(classname+"::~"+classname+"()\r\n")
f.write("{\r\n")
f.write("}\r\n")

f.close()
# Creat Singleton Class Header and Source File
for i in range(1, len(sys.argv)):
CreatHeader(sys.argv[i])
CreatSource(sys.argv[i])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: