템플릿2 [C++] 템플릿 (2) 함수 템플릿 클래스 템플릿을 사용한다는 것은 멤버함수 템플릿을 사용한다는 것을 암시적으로 포함하고 있다. 그러나 클래스의 멤버함수가 아닌 전역함수에 대한 템플릿도 만들 수 있다. 템플릿의 멤버함수를 선언하는 방법 template ReturnType funcName(fParameterList) { .... //함수 몸체 } 함수 템플릿의 다중정의 함수 템플릿은 일반 함수와 마찬가지로 다중정의를 허용한다. 즉, 함수 템플릿과 이름이 같은 다른 함수가 존재할 수도 있다. 이름이 같은 함수가 여러 개 있을 때에는 함수 이름과 인수들의 데이터 형이 정확하게 일치하는 함수가 먼저 선택되어 호출되고, 그러한 함수가 없을 때에는 호출한 함수와 정확하게 일치시키는 변환이 가능한 함수 템플릿이 호출된다. 표준 템플릿 라이.. 2023. 9. 21. [C++] 템플릿 (1) 컨테이너(container) 클래스 컨테이너 클래스란 다른 객체를 저장하는 클래스로서, 그 예로 스택, 큐, 배열, 리스트 등을 들 수 있다.동일한 유형의 컨테이너일지라도 저장하고자 하는 객체의 유형이 다르면 이에 맞게 새로운 클래스를 선언하여야 한다. 템플릿(template) 템플릿은 클래스를 선언할 때 객체의 자료형을 고려하지 않고, 객체의 자료형을 인수로 처리한다. 컨테이터 클래스를 선언할 때 특정 자료형이 아닌 일반적인 자료형을 대상으로 하는 템플릿을 작성한다. 특정 자료형을 위한 컨테이너 객체가 필요할 대 그 자료형을 템플릿의 매개변수로 전달하여 그 자료형에 해당되는 클래스가 자동적으로 선언되게 한다. 클래스 템플릿 선언 template class ClassTemplateName { .... }.. 2023. 9. 19. 이전 1 다음