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

C++风格_函数重载

2017-10-22 17:24 169 查看
定义:

编写一个参数类型为 const string& 的函数, 然后用另一个参数类型为 const char* 的函数重载它:

class MyClass {
public:
void Analyze(const string &text);
void Analyze(const char *text, size_t textlen);
};


优点:

通过重载参数不同的同名函数, 令代码更加直观. 模板化代码需要重载, 同时为使用者带来便利.

缺点:

如果函数单单靠不同的参数类型而重载(acgtyrant 注:这意味着参数数量不变),读者就得十分熟悉 C++ 五花八门的匹配规则,以了解匹配过程具体到底如何。另外,当派生类只重载了某个函数的部分变体,继承语义容易令人困惑。

结论:

如果您打算重载一个函数, 可以试试改在函数名里加上参数信息。例如,用 AppendString() 和 AppendInt() 等, 而不是一口气重载多个 Append().
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: