C++ 아이콘 제작자: Darius Dan - Flaticon
c++에서 어떤 때때로 기본 자료형을 객체로 사용할 필요할 때가 있다.
이 때 wrapper를 사용해 기본 자료형을 객체로 사용
class Int
{
int data;
public:
Int(int data) : data(data) {}
Int(const Int& i) : data(i.data) {}
};
어떨 땐 int형 그 자체 타입으로 사용할 필요가 있고
또 어쩔 때 나만의 클래스 타입으로 사용할 필요가 있을 수 있다
이럴 때 Wrapper클래스를 사용한다.
하지만 정확히 int 자료형 처럼 사용하기 위해 관련 연산을 하는 함수들을 다 만들어줘야 한다.
하지만 그러기엔 너무나 많은 함수를 만들어야 할 수 있다.
==> 그래서 Int형 클래스 즉 wrapper 클래스 자체를 원하는 컴파일러가 원하는 타입 처럼 느끼게 만들자
==> 타입 변환 연산자
class Int {
int data;
public:
Int(int data) : data(data) {}
Int(const Int& i) : data(i.data) {}
operator int() { return data; }
};
<참조>
공부한 내용 복습
개인 공부 기록용 블로그입니다.
틀린 부분 있으다면 지적해주시면 감사하겠습니다!!