1 /* 2 * function-overloading.cpp 3 * 4 * zeigt das Ueberladen von Methoden. 5 * Beispielprogramm zur Systemprogrammierung, Teil 6. 6 * 7 * Autor: H.Drachenfels 8 * Version: 2.6.2023 9 */
10 #include <iostream>
11
12 int max(int, int);
13 double max(double, double);
14 extern "C" int max(int, int, int);
15 //extern "C" double max(double, double, double); // Namenskonflikt
16
17 int main()
18 {
19 std::cout << max(1, 2) << '\n';
20 //std::cout << max(1, 2.3) << '\n'; // mehrdeutig
21 std::cout << max(static_cast<double>(1), 2.3) << '\n';
22 std::cout << max(1, 2, 3) << '\n';
23 }
24
25 int max(int a, int b)
26 {
27 return a > b ? a : b;
28 }
29
30 double max(double a, double b)
31 {
32 return a > b ? a : b;
33 }
34
35 int max(int a, int b, int c)
36 {
37 return max(a, max(b, c));
38 }
39