F.R.I.D.A.Y.

템플릿 클래스를 상속하는 템플릿 클래스 본문

DEV/C C++

템플릿 클래스를 상속하는 템플릿 클래스

F.R.I.D.A.Y. 2021. 5. 21. 16:57
반응형

 템플릿 클래스를 상속하는 템플릿 클래스에서 부모 템플릿 클래스의 멤버 사용하기


 

템플릿 상속

 템플릿 클래스 상속 또한 일반 클래스 상속과 같은 방식으로 합니다.

template<class T>
class Test{
protected:
	T* list;
    size_t length;
}

template<class T>
class exam : Test<T>{

	exam(T* arr, size_t length): length{length}{
    	list = new T[length];
        for(size_t i = 0 ; i < length; ++i) list[i] = arr[i];
    }
}

 다만 일반 클래스 상속과 달리 부모 템플릿에서 상속한 list[# 템플릿으로 구현한 자료형 T를 사용] 멤버를 exam에서 사용하기 위해서는 이런 식으로 사용할 수 없다.

 

 만일 상속받은 멤버를 사용하려면, this 포인터를 빼먹지 않고 모두 작성해야한다.

 

참고

 

c++ - 템플릿 : 상속 된 클래스에서 볼 수없는 부모 클래스 멤버 변수 - IT 툴 넷

c++ - 템플릿 : 상속 된 클래스에서 볼 수없는 부모 클래스 멤버 변수 출처 c++ class templates inheritance makefile

pythonq.com

 

728x90
반응형
Comments