根据返回值重载C ++函数我们都知道你可以根据参数重载一个函数:int mul(int i, int j) { return i*j; }std::string mul(char c, int n) { return std::string(n, c); } 你能根据返回值重载一个函数吗?根据返回值的使用方式定义一个返回不同内容的函数:int n = mul(6, 3); // n = 18std::string s = mul(6, 3); // s = "666"// Note that both invocations take the exact same parameters (same types)您可以假设第一个参数介于0-9之间,无需验证输入或进行任何错误处理。
3 回答
jeck猫
TA贡献1909条经验 获得超7个赞
class mul{public: mul(int p1, int p2) { param1 = p1; param2 = p2; } operator int () { return param1 * param2; } operator std::string () { return std::string(param2, param1 + '0'); }private: int param1; int param2;};
不是我会用它。
- 3 回答
- 0 关注
- 494 浏览
添加回答
举报
0/150
提交
取消