목록2024/01 (48)
개발하는 리프터 꽃게맨입니다.
클래스를 기본적으로 정의하면 암시적으로 생성되는 함수들이 있습니다. 1) 기본 생성자 2) 기본 소멸자 3) 기본 복사 생성자 4) 기본 대입 연산자 class Object { //이 아래 코드는 굳이 명시하지 않아도 //기본적으로 컴파일러가 만들어준다. public: //기본 생성자 Object() {} //기본 소멸자 ~Object() {} //기본 복사 생성자 Object(const Object& other) : a(other.a) , b(other.b) {} //기본 대입 연산자 Object& operator=(const Object& other) { if(this != &other) { Object newObject; newObject.a = other.a; newObject.b = other...
오버로딩 이름은 같지만 매개변수가 다르며 같은 유효 범위 내에 있는 함수를 '오버로딩'한다고 합니다. 다음 코드를 볼까요? void SayHello(int num) { cout
참고: https://powerclabman.tistory.com/26 [C++] 경로 역추적: BFS을 이용한 '미로찾기 알고리즘' 개요 위 그림과 같은 임의의 미로가 있고 플레이어와 도착지의 위치가 정해져 있을 때, 플레이어는 도착지를 어떻게 찾을 수 있을까요? 그리고 어떻게 해야 최단 경로로 도착지에 도달할 수 있 powerclabman.tistory.com 참고: https://powerclabman.tistory.com/27 [C++/이론] 다익스트라 알고리즘 (Dijkstra Algorithm) 참고: https://powerclabman.tistory.com/24 참고: https://powerclabman.tistory.com/25 가중치 그래프 이전 포스팅에서 사용했던 그래프는 모두 가중..
참고: https://powerclabman.tistory.com/24 참고: https://powerclabman.tistory.com/25가중치 그래프이전 포스팅에서 사용했던 그래프는 모두 가중치가 없는 그래프였습니다. 즉, 노드와 노드를 이동하는데 비용이 동일하다는 것이죠. 근데, 실제로 상황에서 A->B로 가는 것과 A->C로 가는 것의 비용이 다를 수도 있겠죠? 서울 -> 강원도 서울 -> 부산 두 조건 다 도시와 도시 사이를 이동하는 것이지만, 소모하는 기름, 거리, 톨게이트 비용 등.. 많은 것이 다를 것입니다. 이런 비용을 '가중치' 라고 하고, 가중치를 표현한 그래프를 '가중치 그래프'라고 부릅니다. int adjacent[5][5] = { 0,1,1,0,0, 0,0,1,0,1, 0,0,..
개요 위 그림과 같은 임의의 미로가 있고 플레이어와 도착지의 위치가 정해져 있을 때, 플레이어는 도착지를 어떻게 찾을 수 있을까요? 그리고 어떻게 해야 최단 경로로 도착지에 도달할 수 있을까요? 그에 대한 알고리즘을 소개해보겠습니다. 미로 찾기 베이스 미로 찾기 알고리즘을 개발하기 위한 베이스입니다. 이 파트는 넘어가셔도 상관없다만, 몇 가지만 확인해 주시면 해당 포스트를 이해하는데 도움이 될 것입니다. (포스팅을 위해 하나의 파일로 만들었습니다.) 1. 2차원 좌표값은 Pos 클래스를 사용합니다. Pos(y, x)로 나타내며 y는 y축 값, x는 x축 값을 나타냅니다. 연산자 오버로딩을 해주었기에, 자유롭게 연산이 가능합니다. 2. 미로는 NxM 사이즈의 bool 형 2차원 배열입니다. 0(false)..