함수 오버로딩: 같은 이름의 함수를 사용할 수 있음. 대신 인자로 구분이 가능해야 한다.
private : 사용자는 호출 할 수 없지만 제작자는 호출 할 수 있음. ( 캡슐화한다고 생각하면 됨)
public : 사용자에게도 공개하는 부분
class는 아무것도 명시하지 않으면 private이다. 그러나 struct는 default가 public이다.
재귀함수 사용
9 8 7 6 5 4 3 2 1 도착 1 2 3 4 5 6 7 8 9 순으로 출력하기
#include <iostream>
using namespace std;
void run(int level)
{
cout << level << " ";
if(level == 0)
{
cout << "도착 ";
return;
}
run(level-1);
cout << level << " ";
}
int main()
{
run(9);
return 0;
}
배열 값 더해주기
#include <iostream>
using namespace std;
int arr[5] = {4, 2, 5, 3, 6};
void run(int level, int sum)
{
if(level == 5)
{
cout << sum;
return;
}
run(level+1, sum + arr[level]);
}
int main()
{
run(0, 0);
return 0;
}
배열값 더해주면서 출력하고 다시 빼면서 출력
#include <iostream>
using namespace std;
int arr[6] = {4, 1, 2, 3, 4, 5};
void run(int level, int sum)
{
cout << sum << " ";
if(level == 0)
{
return;
}
run(level-1, sum + arr[level-1]);
cout << sum << " ";
}
int main()
{
run(5, arr[5]);
return 0;
}
'C++ > 공부 정리' 카테고리의 다른 글
namespace, 재귀호출(가지치기) (0) | 2021.10.05 |
---|---|
path 전역 배열, n차원 배열 (0) | 2021.10.05 |
클래스, 재귀함수 (0) | 2021.10.01 |
Direct offset 배열, 구조체, 2차원 배열에서 패턴찾기 (0) | 2021.10.01 |
문자열 속 패턴 찾기, DAT(Direct Address Table) (0) | 2021.09.19 |