[열혈 C++] 문제 01-3 문제2 풀이
Study Code/[Basic] C++2024. 5. 1. 02:49[열혈 C++] 문제 01-3 문제2 풀이

다음과 같은 형태로의 함수 오버로딩은 문제가 있다. 어떠한 문제가 있는지 설명해보자.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 풀이
Study Code/[Basic] C++2024. 5. 1. 02:47[열혈 C++] 문제 01-3 문제1 풀이

예제 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 풀이
Study Code/[Basic] C++2024. 5. 1. 02:45[열혈 C++] 문제 01-2 풀이

다음 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 풀이
Study Code/[Basic] C++2024. 5. 1. 02:43[열혈 C++] 문제01-1 문제4 풀이

이 회사는 모든 판매원에게 매달 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 풀이
Study Code/[Basic] C++2024. 5. 1. 02:41[열혈 C++] 문제01-1 문제3 풀이

숫자를 하나 입력 받아서 그 숫자에 해당하는 구구단을 출력  [풀이]#include using namespace std;int main(){ int num; int i = 0; cout >> "; cin >> num; cout

728x90
반응형
image