C++의 래퍼 클래스

Suraj P 2023년10월12일
  1. C++의 래퍼 클래스 정의
  2. 래퍼 클래스가 C++에서 사용되는 이유
C++의 래퍼 클래스

이 기사에서는 C++의 래퍼 클래스와 사용 위치에 대해 설명합니다.

C++의 래퍼 클래스 정의

래퍼 클래스는 관리 리소스를 둘러싸는 특수한 유형의 클래스입니다. 더 잘 이해하기 위해 예를 들어 보겠습니다.

예제 코드:

class int_wrapper {
 public:
  int_wrapper(int value = 0) : myPtr(new int(value)) {}

  ~int_wrapper() { delete myPtr; }

 private:
  int* myPtr;
};

이제 위의 클래스는 int에 대한 포인터를 래핑합니다. 모든 리소스는 청결(소멸자가 자동으로 수행) 및 정확성을 위해 어떤 방식으로든 래핑되어야 합니다.

이 패턴은 종종 Resource-Acquisition is Initialization (RAII)이라고 합니다. 그래서 아이디어는 청결을 위해 소멸자를 묶는 것입니다.

예를 들어, 절차적 인터페이스 대신 객체 지향 인터페이스를 얻기 위해 C 언어의 많은 기능을 래핑합니다.

fun() 함수가 있다고 가정합니다.

void fun() { cout << "hero"; }

래퍼 클래스는 아래와 같습니다.

class temp {
  void fun() { cout << "hero"; }
};

래퍼 클래스가 C++에서 사용되는 이유

래퍼 클래스가 필요한 예를 살펴보겠습니다.

회사에서 다양한 유형의 카메라를 사용한다고 가정합니다. 이제 모든 카메라 제조업체는 카메라가 작동하도록 하는 기능이 다릅니다.

이제 개발자가 이러한 카메라에 응용 프로그램을 빌드하거나 추가 기능을 추가하려는 경우 한 가지 방법은 각 카메라 유형에 대해 별도의 코드를 작성 및 작성하거나 기존 코드 카메라를 감싸는 추가 기능이 있는 하나의 래퍼 클래스를 작성하는 것입니다.

작가: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

관련 문장 - C++ Class