enter = '\n'blank = ' 'domain = '::'class CppFileHelper():def gen_micro(class_name):micro = class_name + 'H'return microdef gen_head_h(class_name):micro = CppFileHelper.gen_micro(class_name)head = '#ifndef ' + micro + enter + '#define ' + micro + enter + enterreturn headdef gen_tail_h(class_name):micro = CppFileHelper.gen_micro(class_name)tail = enter + '#endif' + ' // ' + microreturn taildef gen_class_head(class_name):head = 'class ' + class_name + enter + '{' + enterreturn headdef gen_class_tail():tail = '};' + enterreturn taildef gen_access_type(func_access_type, show_access_type):if (show_access_type != '1'):return ''type = func_access_type + ':' + enterreturn typedef gen_func_param(func_param_name, semicolon=';'):print(type(func_param_name), func_param_name)real_param = '(' + func_param_name + ')' + semicolonreturn real_paramdef gen_func_h(func_return_type, func_name, func_param_name, semicolon=';'):real_param = CppFileHelper.gen_func_param(func_param_name, semicolon)func = blank + func_return_type + ' ' + func_name + real_param + enterreturn funcdef get_file_name_h(class_name):return class_name + ".h"def get_file_name_cpp(class_name):return class_name + ".cpp"def gen_head_cpp(class_name):head = '#include ' + '"' + \CppFileHelper.get_file_name_h(class_name) + '"' + enter + enterreturn headdef gen_func_cpp(class_name, func_return_type, func_name, func_param_name):real_param = CppFileHelper.gen_func_param(func_param_name, '')body = func_return_type + ' ' + class_name + \domain + func_name + real_param + enterbody += '{' + enterbody += '}' + enterreturn bodydef gen_file_h(class_name, func_define_list):with open(CppFileHelper.get_file_name_h(class_name), 'w') as f:#headhead = CppFileHelper.gen_head_h(class_name)#bodybody = CppFileHelper.gen_class_head(class_name)for i in range(len(func_define_list)):func_param_name = func_define_list[i]["func_param_name"]func_access_type = func_define_list[i]["func_access_type"]show_access_type = func_define_list[i]["show_access_type"]func_return_type = func_define_list[i]["func_return_type"]func_name = func_define_list[i]["func_name"]access_type = CppFileHelper.gen_access_type(func_access_type, show_access_type)func = CppFileHelper.gen_func_h(func_return_type, func_name, func_param_name)body += access_type + funcbody += CppFileHelper.gen_class_tail()#tailtail = CppFileHelper.gen_tail_h(class_name)#contentcontent = head + body + tailf.write(content)f.close()def gen_file_cpp(class_name, func_define_list):with open(CppFileHelper.get_file_name_cpp(class_name), 'w') as f:#headhead = CppFileHelper.gen_head_cpp(class_name)#bodybody = ''size = len(func_define_list)for i in range(size):func_param_name = func_define_list[i]["func_param_name"]func_return_type = func_define_list[i]["func_return_type"]func_name = func_define_list[i]["func_name"]body += CppFileHelper.gen_func_cpp(class_name, func_return_type,func_name, func_param_name)if (i < size - 1):body += enter#contentcontent = head + bodyf.write(content)f.close()def gen_h_cpp(class_name, func_define_list):CppFileHelper.gen_file_h(class_name, func_define_list)CppFileHelper.gen_file_cpp(class_name, func_define_list)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。