diff --git a/modules/03_functions/src/overloading.cpp b/modules/03_functions/src/overloading.cpp index 5f4a7b4..eb103f4 100644 --- a/modules/03_functions/src/overloading.cpp +++ b/modules/03_functions/src/overloading.cpp @@ -2,10 +2,15 @@ namespace functions { -auto max_value(int a, int b) -> int { (void)a; (void)b; return 0; } -auto max_value(double a, double b) -> double { (void)a; (void)b; return 0.0; } -auto max_value(const std::string& a, const std::string& b) -> std::string { (void)a; (void)b; return {}; } -auto area(int side) -> int { (void)side; return 0; } -auto area(int width, int height) -> int { (void)width; (void)height; return 0; } +// Overloading based in parameter type + +auto max_value(const int a, const int b) -> int { return a > b ? a : b; } +auto max_value(const double a, const double b) -> double { return a > b ? a : b; } +auto max_value(const std::string& a, const std::string& b) -> std::string { return a > b ? a : b; } + +// Overloading based in parameter count + +auto area(const int side) -> int { return side * side; } +auto area(const int width, const int height) -> int { return width * height; } } // namespace functions