기능적 템플릿 상속을 사용하면 템플릿 이름을 기본 클래스로 지정하여 기존 템플릿에서 새 템플릿을 만들 수 있습니다. 상속과 결합되어 코드 재사용, 유연성, 확장성 등의 이점을 제공합니다.
C++ 함수 템플릿과 상속 간의 공동 작업
소개
함수 템플릿을 사용하면 다양한 유형에 대해 동일한 동작을 갖는 함수를 만들 수 있습니다. 상속을 통해 기본 클래스의 특성을 공유하고 새로운 기능을 추가하는 기본 클래스에서 새 클래스를 파생시킬 수 있습니다. 이 두 가지 강력한 메커니즘을 결합하면 유연하고 재사용 가능한 코드가 생성됩니다.
함수 템플릿 상속
상속을 통해 기존 함수 템플릿에서 새로운 함수 템플릿을 만들 수 있습니다. 함수 템플릿의 이름을 기본 클래스로 지정하기만 하면 됩니다. 예:
template<typename T> void print_element(T element) { std::cout << element << std::endl; } // 从 print_element 继承的新函数模板 template<typename T> void print_list(T list) { for (auto element : list) { print_element(element); } }
실제 예
정수 목록을 나타내는 클래스를 만들어 보겠습니다.
class IntegerList { public: IntegerList(int size) { list = new int[size]; } ~IntegerList() { delete[] list; } void add(int element) { list[size++] = element; } private: int* list; int size = 0; };
이제 함수 템플릿 상속을 사용하여 정수 목록을 인쇄하는 함수를 만들 수 있습니다.
// 从 print_element 继承的函数模板 template<typename T> void print_list(T list) { for (auto element : list) { print_element(element); } }
다음과 같이 할 수 있습니다. IntegerList
对象作为参数,并调用 print_list
함수를 전달하세요.
유연성: 이를 통해 다양한 유형에 걸쳐 작동하는 다목적 기능을 만들 수 있습니다.
위 내용은 C++ 함수 템플릿과 상속 간의 협업?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!