-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
[5:32] base class를 상속받아 내용이 추가되지 않는 class를 만드는 이유
21.02.07 18:42 작성 조회수 146
1
안녕하세요,
class의 멤버함수를 specialization하기 위해서 상속을 받아 구현하는 부분에서 이해가 되지 않아 질문드립니다.
강의에서는 아래와 같이 specialization 하려하는 멤버함수가 포함된 class를 base class로 변경 후 이를 상속받는 class를 하나 정의합니다.
이 이유가 무엇인가요? 'char' 형 이외에 대해서는 base class와 똑같이 기능하게 하기 위해서 인가요? 명확하게 이해가 되지 않아 질문드립니다.
바쁘시겠지만 답변해주시면 공부하는데 큰 도움이 될 것 같습니다. 감사합니다!
template<typename T, int size>
class StaticArray_BASE
{
private:
T m_array[size];
public:
T* getArray() { return m_array; }
T& operator[](int index)
{
return m_array[index];
}
void print()
{
for (int count = 0; count < size; count++)
cout << (*this)[count] << ' ';
cout << endl;
}
};
template<typename T, int size>
class StaticArray :public StaticArray_BASE<T, size>
{
};
답변을 작성해보세요.
4
안소
2021.02.07
안녕하세요.
https://www.inflearn.com/questions/105164
멤버 함수를 부분 특수화 할 때 상속을 하는 이유에 대해서는 위 링크를 참고해주세요!
답변 아랫 부분즈음에 상속을 하는 이유에 대해서 작성을 해둔적이 있습니다.
답변 1