일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- template
- 자료구조
- 이진 탐색 트리
- 전위
- 오버로딩
- 연결 리스트
- linked list
- 트리
- SCM
- 숫자
- 선물
- C++
- Windows
- #선물 #비트코인#알트코인#매매#코인#마진
- Tree
- 순회
- Python
- 후위
- array
- 비트코인
- 기초
- 문자열
- 알고리즘
- mutable
- BST
- Data Structure
- 바이낸스
- 템플릿 함수화
- Basic
- trading view
Archives
- Today
- Total
Project Hub
6. Wrapper 클래스 - 타입변환 연산자 본문
728x90
반응형
이전 글 & 참고 글
2022.12.21 - [분류 전체보기] - 5. 연산자 오버로딩, friend 키워드
5. 연산자 오버로딩, friend 키워드
이전 글 2022.12.21 - [C++/c++ basic] - 4. implicit, explicit, mutable 키워드 4. implicit, explicit, mutable 키워드 이전 글 2022.12.21 - [C++/c++ basic] - 3. copy consturctor 3. copy consturctor 이전 글 2022.12.21 - [C++/c++ basic] - 2. refer
projecthub.tistory.com
아래의 글을 읽기 전에 이전 글을 먼저 읽고 오길 추천한다.
Wrapper 클래스
기본 자료형들을 객체로써 자루어야 할 때, 사용된다.
아래는 int 자료형을 감싸는 int Wrapper 클래스 Int 를 구현한 것이다.
operator int() {return data;} 를 선언한 이유는,
Wrapper 클래스인 Int 클래스의 객체를 int 형 변수로 컴파일러에게 인식시키기 위함이다.
이렇게 된다면, operator+ 등과 같은 모든 연산자에 대해 선언을 따로 하지 않아도 연산자 수행이 가능하다.
operator (변환하고자 하는 타입) ()
클래스 객체를 변환하고자 하는 타입으로 변환시켜 처리한다.
class Int
{
int data;
public:
Int(int data) : data(data) {}
Int(const Int& i) : data(i.data) {}
operator int() {return data;}
};
int main()
{
Int x = 3;
int a = x + 4;
x = a * 2 + x + 4;
std::cout << x << std::endl;
return 0;
}
// 출력은 21
출력을 보면, Int 객체가 int 변수 처럼 정확히 동작했음을 알 수 있다.
728x90
반응형
'C++ > c++ basic' 카테고리의 다른 글
8. 입출력 연산자 오버로딩 (2) | 2022.12.21 |
---|---|
7. 이항 연산자 오버로딩 (2) | 2022.12.21 |
5. 연산자 오버로딩, friend 키워드 (3) | 2022.12.21 |
4. implicit, explicit, mutable 키워드 (1) | 2022.12.21 |
3. copy consturctor (1) | 2022.12.21 |
Comments