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

这里分别是利用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])



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值