Przeciąż metodę lub użyj wartości domyślnych? c ++
Nadal jestem stosunkowo nowy w C ++ i nie mogę zrozumieć różnicy w następujących dwóch sposobach kodowania funkcji, które mogą przyjmować jeden parametr, a może dwa lub trzy lub więcej. W każdym razie, oto mój punkt widzenia
przeciążenie funkcji:
int aClass::doSomething(int required)
{
//DO SOMETHING
}
int aClass::doSomething(int required, int optional)
{
//DO SOMETHING
}
jak to się różni od wartości domyślnej:
int aClass::doSomething(int required, int optional = 0)
{
//DO SOMETHING
}
Wiem w różnych okolicznościach, że może być bardziej odpowiedni niż inny, ale jakiego rodzaju rzeczy powinienem być świadomy wybierając jedną z tych opcji?