-1
A
답변
3
귀하의 질문은 모호하지만, 당신이 원하는 것처럼 그것은 소리 Curiously recurring template pattern
나는에 이것을 설명하는 것보다 훨씬 더 사람들이있다 웹 그것은 부스트 라이브러리에서 많이 사용됩니다. boost.iterator 좋은 예제를위한 문서와 코드
2
Here you go ...
구글, 그것은 놀라운 아닌가요? : P
2
Effective C++ (3rd Edition) 사본이있는 경우 Scott Meyers는 Item 35 (170 페이지)의 NVI 관용구를 훌륭하게 취급합니다.
+0
예, 있습니다. 나는 한번 살펴 보겠다. thx – vehomzzz
2
class base
{
public:
void bar()
{
getReady();
barImpl();
cleanup();
}
void getReady() {cout << "Getting ready. ";}
void cleanup() {cout << "Cleaning up.\n";}
protected:
virtual void barImpl() {cout << "base::barImpl. ";}
}
class derived : public base
{
protected:
virtual void barImpl() {cout << "derived::barImpl. ";}
}
int main()
{
base b;
derived d;
b.bar();
d.bar();
}
출력 :
Getting ready. base::barImpl. Cleaning up. Getting ready. derived::barImpl. Cleaning up.
관련 문제
- 1. 목표 C에서 카테고리는 어떻게 구현됩니까?
- 2. C에서 읽기 전용 메모리는 어떻게 구현됩니까?
- 3. Objective-C에서 @encode 컴파일러 지시문은 어떻게 구현됩니까?
- 4. @private는 어떻게 구현됩니까?
- 5. Java에서 동적 바인딩은 어떻게 구현됩니까?
- 6. C에서 유형의 인터페이스 반영하기
- 7. Objective-C에서 비 인터페이스 메소드를 테스트 할 수있게 만들기
- 8. WCF에서 콜백은 어떻게 구현됩니까?
- 9. Set.toString()은 어떻게 구현됩니까?
- 10. 채팅은 일반적으로 어떻게 구현됩니까?
- 11. OpenID는 어떻게 구현됩니까?
- 12. pthread_join은 어떻게 구현됩니까?
- 13. 반복기는 Java로 어떻게 구현됩니까?
- 14. 코 루틴은 어떻게 구현됩니까?
- 15. 작업 예약은 어떻게 구현됩니까?
- 16. MarshalByRefObject는 어떻게 구현됩니까?
- 17. VTBL은 Java에서 어떻게 구현됩니까?
- 18. 일반적으로 힙은 어떻게 구현됩니까?
- 19. Firefox 알림은 어떻게 구현됩니까?
- 20. sarcmark는 어떻게 구현됩니까?
- 21. HttpSession은 어떻게 구현됩니까?
- 22. MPI 입출력은 어떻게 구현됩니까?
- 23. 조건 변수는 어떻게 구현됩니까?
- 24. neo4j 지속성은 어떻게 구현됩니까?
- 25. 가상 인터페이스 Dtor && Dynamic_Cast
- 26. 인터페이스 용 가상 소멸자
- 27. 자바 인터페이스는 내부적으로 어떻게 구현됩니까? (vtables?)
- 28. C++에서 비 가상 인터페이스 관용구를 사용하여 인터페이스 클래스를 구현하는 방법은 무엇입니까?
- 29. C++의 다중 상속은 어떻게 구현됩니까?
- 30. 어댑터 패턴은 어떻게 작동합니까?
당신이 말하는 것에 대해 궁금합니다. 예를 들어 좀더 자세하게 설명해 줄 필요가 있습니다. –
Neil에 추가하려면 싱글 대 멀티 쓰레드 구현의 의미가 확실하지 않습니다. NVI는 스레딩과 관련이 없으므로 단일/다중 스레드 NVI의 차이점은 실제로 어떤 클래스의 단일/다중 스레드 구현 간의 차이와도 다르지 않습니다. –
@Nick 그 남자는 사소한 C++ 스팸 - 페스트에 빠져있는 것 같습니다. 나는 그가 그 자신의 질문을 이해하는지 의심 스럽다. –