BoxVolume함수를 '매개변수의 디폴드 값 지정'이 아닌 '함수 오버로딩'의 형태로 재구현 main함수 변경x, 실행결과 동일해야한다.
이 회사는 모든 판매원에게 매달 50만원의 기본급여와 물품 판매 가격의 12%에 해당하는 돈을 지급한다 가령, 민수라는 친구의 이번 달 물품 판매 금액이 100만원이라면, 민수의 이번달 급여는 50 + 100x0.12 로 62만원이 된다. 단, 급여의 계산은 -1이 입력될 때까지 계속 입력 되어야 한다. (-1이 입력되어야 프로그램이 종료된다. -1 to end)
다음과 같은 형태로의 함수 오버로딩은 문제가있다. 어떠한 문제가 있는지 설명해보자 가령 메인함수에서 SimpleFunc(3); 같이 함수의 인자로 어떠한 한가지의 값을 전달했을때는 첫번째 SimpleFunc함수가 실행되면서 문제가 없겠지만 SimpleFunc();같이 아무런 인자를 넣어주지 않으면 어떠한 SimpleFunc함수를 실행해야하는지 컴파일러가 판단이 불가능하다. 첫번째 함수도 인자값을 전달해주지 않아도 디폴드값이 있기때문에 가능하고 두번째 함수도 매개변수가 void이기때문에 가능하다 따라서, 이 경우에는 디폴드값을 사용하면 안된다.