Introduction 순열이란 무엇이고, 계승이란 무엇인지 설명한 장이다. Content 0. 시작하기에 앞서 경우의 수란 것을 알아야 한다. 무엇을 경우의 수 라고 하는가? 한번 결정을 내릴 때, 발생 할 수 있는 사건의 가짓 수를 경우의 수라고 한다. 참조 링크 http://ko.wikipedia.org/wiki/경우의 수 1. 무엇을 순열이라고 하는가? 사건을 한 줄로 세우는 경우의 수를 말한다. 즉, 순서가 있는 경우의 수다. 예를 들면, 호주머니에 빨간돌 1개, 검을돌 1개, 초록돌 1개 가 있을 때, 한번씩 두번 돌을 호주머니에서 뺀다면, 첫번째는 돌 세개 중 한개 이므로, 경우의 수는 3 가지 이다. 두번째는 남아있던 돌 두개에서 빼내 오는 것이므로, 경우의 수는 2 이다. 그러므로, 호주..
계승 검색 결과
항목 41. 계승과 템플릿과의 차이점을 이해한다. 이유. 1. 코드 재사용을 위해서 (코드 재사용은 정말 중요하다. 물론 개념 재사용도 중요하다..) 해결 방법 1. 계승과 템플릿과의 차이점을 이해한다. 계승이란? 1. 다른 클래스에 있는 데이터와 메소드를 흡수하는것을 계승이라 한다. 템플릿이란? 1. 동일한 작업의 처리되는 데이터를 사용자가 지정하는 것을 템플릿 이라 한다. 어떨 때 계승과 템플릿을 구분지어 사용 하는가? 계승은 객체의 타입이 클래스에 정의된 함수들의 동작 원리에 영향을 미치는 경우 템플릿은 객체의 타입이 클래스에 정의된 함수들의 동작 원리에 영향을 미치지 않을 경우 개인적인 생각. 역시 프로그래머의 능력은 설계와 최적화에서 평가 된다. (구현은 기본이고..)
항목 37. 계승된 비가상 함수를 재정의하지 않도록 한다. 전제 클래스 D는 클래스 B를 계승했다. 클래스 B는 비가상함수 mf가 있다. 클래스 D는 비가상함수 mf를 재정의했다. 클래스 B형 포인터 p = new 클래스 D 이다. 이유. 1. p->mf 를 이용하면, 객체D는 정신분열적인 행동을 하게 되기 때문이다! (참조자 역활을 하는건 다 동일하다, 왜냐하면 C++의 다형성 때문이다.) 2008/07/14 14:55 수정 포인터에 정적바인딩 된다. 이 표현이 더 정확하다. 1. p->mf 를 이용하면 D의 mf 가 호출되는것이 아닌 B의 mf 가 호출된다. 이것은 장기적으로 볼때, 난해한 코딩이 되고야 만다.(디버깅이 너무 어려울듯) 2. 만약 클래스 D가 B의 mf와 다르게 해야 한다면, 상속관계..
최근댓글