仅为char *和字符串重载函数

时间:2015-10-11 00:17:42

标签: c++ overloading default-parameters

我正在制作一些保存和加载我的值的函数:

他们是这两个:


rescue_from Exception do |e|
  render json: e.to_json, status: 500
end

这里的问题是我也希望它们为char *工作所以我像这样重载它们:

void safeFile(string &set_name) const;
void loadFile(string &set_name);

在cpp文件中:

void safeFile(string &set_name) const;
void loadFile(string &set_name);   
void safeFile(char* set_name) const;
void loadFile(char* set_name);

我应该做更好的或其他方式吗?感谢

1 个答案:

答案 0 :(得分:6)

不要为char*添加重载。 saveFileloadFile只需将其参数设为const std::string&

如果你有:

void saveFile(std::string const& );

您可以同时调用它:

obj.saveFile("file.txt");
obj.saveFile(std::string("file.txt"));