C++ template에 관한 기초적인 질문입니다~
글쓴이: greathero / 작성시간: 금, 2013/03/15 - 3:21오후
템플릿 쪽 공부를 하다가 중첩 의존 이름에 대해 공부하는데요.
이해가 안가는 부분이 많아서 도움을 구해보고자 합니다.
template<typename T> class Derived: public Base<T>::Nested { public: explicit Derived(int x) : Base<T>::Nested(X) { typename Base<T>::Nested temp; ... } .. };
위 코드에서 보면 평소에 상속을 할 때 : public Base { ... }; 이런 형태밖에 보질 못해서
조금은 위의 코드가 어색합니다.
템플릿 base 클래스를 상속받을 때 아래 코드처럼 해야될거 같은데
template<typename T> class Derived<T>: public Base<T> { ... };
자식 클래스에선 와 같은 템플릿 매개변수를 명시하지 않는게 맞나요?
그리고 :public Base::Nested의 뜻을 이해할 수가 없습니다..ㅠ
중첩 의존 이름만 상속을 받겠다는건지... 이런게 가능한가요?
으어... 상당히 헷갈리네요ㅠㅠ
고수님들 도와주세요~~~
Forums:
부모 클래스건 파생 클래스건
클래스 이름 쓸때는 를 안붙여주는군요...
댓글 달기