jak rozumiem chodzi o to czy dwie deklaracje w jednym ponpunkcie są ok?
Jeśli tak to:
a-nie, jak dasz w kodzie f(1,1) to kompilator nie będzie wiedział jaka to funkcja, ponieważ pierwszą funkcję możesz wywołac podając 3 argumenty lub 2 argumenty(za trzeci kompilator weźmie domyślne 0, bo jest K=0), a drugą funkcję możesz analogicznie wywołać podając 1 lub 2 argumenty. Typy zmeinnych są takie same, wiec kompilator przy 2 argumentach się nie połapie.
(Nie wiem czy nie ma odgórnych restrykcji, że funkcji z wartością domyślną nie wolno przeciążać)
b) tak-to są dwie przeciążone funkcje kompilator rozpozna je na podstawie typu i liczby argumentów,
c)jak wyżej, natomiast nie będzie tu przeciążania f i F to dwie różne nazwy, bo w C++ ma znaczenie wielkość znaków/