我对 C++ 还比较陌生,我似乎无法弄清楚以下两种编码可能采用一个参数或两个或三个或更多参数的函数的方式的区别。无论如何,这是我的观点
函数重载:
int aClass::doSomething(int required)
{
//DO SOMETHING
}
int aClass::doSomething(int required, int optional)
{
//DO SOMETHING
}
这与默认值有何不同:
int aClass::doSomething(int required, int optional = 0)
{
//DO SOMETHING
}
我知道在不同的情况下,一个可能比另一个更合适,但是在这些选项之间进行选择时我应该注意哪些事项?