![[열혈 C++] 문제 01-3 문제2 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdxGiIh%2FbtsG33ouGqV%2FAAAAAAAAAAAAAAAAAAAAAJKf0IBUFylrJX-ynknbiWvn6rmSA_RYEcDnBViLYzbW%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DJVPHr5kBotkrqgtZG1Ijgenrxn4%253D)
다음과 같은 형태로의 함수 오버로딩은 문제가 있다. 어떠한 문제가 있는지 설명해보자.int SimpleFunc(int a = 10){ return a + 1;}int SimpleFunc(void){ return 10;} [풀이]int SimpleFunc(int a = 10) 함수와 int SimpleFunc(void) 함수는 모두 SimpleFunc()로 사용할 수 있기 때문에 SimpleFunc()를 선언했을 때, 둘 중 어떤 함수를 사용해야할지 모르게 되어 에러가 발생한다.
![[열혈 C++] 문제 01-3 문제1 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbmxH7j%2FbtsG3BZ80Xm%2FAAAAAAAAAAAAAAAAAAAAAHAaXEpWolJc08GXCWhXLG63AUznN74psKGbNoBMnWTw%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DIJ9R1YADnnS%252Bpx4mYv615TFf308%253D)
예제 DefaultValue3.cpp에 정의되 함수 BoxVolumne은 '매개변수의 디폴트 값 지정'형태가 아닌, '함수 오버로딩'의 형태로 재구현해보자. 물론 main 함수는 변경되지 않아야하며, 실행결과도 동일해야한다.#include using namespace std;int BoxVolume(int length, int width = 1, int height = 1);int main(void){ cout [풀이]//'함수 오버로딩'의 형태로 재구현 int BoxVolume(int length, int width, int height) { return length * width * height;}int BoxVolume(int length, int width) { return length * ..
![[열혈 C++] 문제 01-2 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcQWoSq%2FbtsG49V6uZi%2FAAAAAAAAAAAAAAAAAAAAANhGNmKJO4H3gr_FL5RtpFEAXKQdO4FfNyc5HE9UJ8ZV%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DyxJYN9Y%252BFleQoPJNXYBg2rI5AJQ%253D)
다음 main 함수에서 필요로 하는 swap 함수를 오버로딩해서 구현해보자. // main 함수int main(void){ int num1 = 20, num2 = 30; swap(&num1, &num2); std::cout [실행의 예]30 20Z A5.555 1.111 [풀이]void swap(int* num1, int* num2){ int tmp = *num1; *num1 = *num2; *num2 = tmp;}void swap(char* ch1, char* ch2){ char tmp = *ch1; *ch1 = *ch2; *ch2= tmp;}void swap(double* dbl1, double* dbl2){ double tmp = *dbl1; *dbl1 = *dbl2; *dbl2 = tmp;}
![[열혈 C++] 문제01-1 문제4 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F4tbZk%2FbtsG6ZkpXdA%2FAAAAAAAAAAAAAAAAAAAAAMAQSDUbs3yhvtpgltaWABt5-wuoGIJBITR1oDf7KM5d%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DK6KF%252BK4B7PuG3GAo8WDpuvicdbo%253D)
이 회사는 모든 판매원에게 매달 50만원의 기본 급여와 물품 판매 가격의 12%에 해당하는 돈을 지급한다.예를 들어서 민수라는 친구의 이번 달 물품 판매 금액이 100만원이라면, 50+100X0.12=62따라서 62만원을 급여로 지급 받는다.단, 아래의 실행의 예에서 보이듯이 이러한 급여의 계산은 -1 입력될 때까지 계속 되어야 한다.[실행의 예]판매 금액을 만원 단위로 입력(-1 to end) : 100이번 달 급여: 62만원판매 금액을 만원 단위로 입력(-1 to end): 200이번 달 급여: 74만원판매 금액을 만원 단위로 입력(-1 to end) : -1프로그램을 종료합니다. [풀이]#include using namespace std;int main(){ int price = 0; do { ..
![[열혈 C++] 문제01-1 문제3 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcWpAdT%2FbtsG4iy3Bnj%2FAAAAAAAAAAAAAAAAAAAAAOO5SBl41Rg6SpcxIuw1KajKvczBjWbQW86glEhD_uWP%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DEzm9sEXbY5YVDDFidDUKCe8Xip8%253D)
숫자를 하나 입력 받아서 그 숫자에 해당하는 구구단을 출력 [풀이]#include using namespace std;int main(){ int num; int i = 0; cout >> "; cin >> num; cout