일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 언리얼
- 암시적 변환
- Smart Pointer
- exception
- 참조자
- implicit conversion
- reference
- resource management class
- 스마트 포인터
- virtual function
- 오블완
- more effective c++
- operator new
- UE4
- lua
- 게임
- Effective c++
- 메타테이블
- effective stl
- 티스토리챌린지
- 영화 리뷰
- 루아
- 영화
- 다형성
- 반복자
- 상속
- 비교 함수 객체
- 예외
- c++
- 함수 객체
Archives
- Today
- Total
목록name hiding (1)
스토리텔링 개발자
[Effective C++] 36. 상속된 비가상 함수 이름 가리기 문제
항목 36. 상속받은 비가상 함수를 파생클래스에서 재정의하는 것은 금물 비가상 함수를 가리면 생기는 문제class B{public: void mf(); ...};class D : public B{public: void mf(); // B::mf를 가려버린다! ...};D x; // D 타입B* pB = &x; // x에 대한 포인터를 B*에 넣는다.D* pD = &x; // x에 대한 포인터를 D*에 넣는다.pB->mf(); // B::mf를 호출pD->mf(); // D::mf를 호출!!!!비가상 함수를 가려버리면, 포인터가 어디에 담겨있느냐에 따라 다르게 동작한다.가상 함수 및 오버라이드를 사용했을 경우 발생하지 않는 문제이다. 문제 동작 이유비가상 함수는 정적 바인딩으로 ..
개발/Effective C++
2024. 7. 5. 09:23