반응형

2026/01/06 2

[c++] Friend class

한 클래스가 다른 클래스의 private 및 protected 의 멤버에 접근 할 수 있는 권한을 부여하는데 사용된다.객체 지향 프로그래밍의 핵심 원칙인 캡슐화에 따르면 외부 클래스는 다른 클래스의 내부 데이터에 직접 접근 할 수 없다. 하지만 특정 상황에서 두 클래스 간 긴밀한 협력이 필요하 때 friend 키워드를 사용해예외적으로 권한을 부여한다. 1. 기본 문법friend 권한을 주는 클래스 내부에서 friend class [클래스 명]; 을 선언한다.클래스 전체가 아닌 특정 함수만 friend 로 줄 수 있다.class A {private: int secret_data = 100; // 클래스 B를 친구로 선언 (B는 이제 A의 private에 접근 가능) friend class ..

c++ 2026.01.06

[알고리즘] DFS / BFS

DFS(Depth First Search) 깊이 우선 탐색, 트리나 그래프를 최대한 깊이 들어가서 탐색하는 방법,폭 넓은 지식 보다 깊이 있는 지식을 우선시 한다. DFS 기반의 탐색은 재귀나 스택 자료구조를 이룔해서 구현 할 수 있다.DFS를 수행 할 때 루트 노드에서 시작해서 한쪽의 최대한 깊이 들어 간 후 에 자식 노드를 모두 방문후 다시 부모로 돌아와 다른 자식을 방문하는 방식, 위와같은 순회 방식을 Pre-order traverse, 전위 순회 라고 한다. In-order traverse. 중위 순회, 왼쪽 → 루트 → 오른쪽 순서로 노드를 방문한다.Post-order traverse. 후위 순회, 왼쪽 → 오른쪽 → 루트 순서로 노드를 방문한다. 탐색 : 어떠한 값을 발견하기 위한 행위, 순..

반응형