본문 바로가기

연산자 오버로딩3

[C++] 연산자 오버로딩 (2) References Professional C++ Contents 함수 호출 연산자 오버로딩 역참조 연산자 오버로딩 변환 연산자 메모리 할당/해제 연산자 오버로딩 사용자 정의 리터럴 연산자 오버로딩 [C++] 연산자 오버로딩 (1) 지난 포스팅에 이어 연산자 오버로딩에 대해서 계속 알아보도록 하겠습니다. 6. 함수 호출 연산자 오버로딩 함수 호출 연산자 operator()도 오버로딩할 수 있습니다. 클래스를 정의할 때 operator()를 추가하면 이 클래스의 객체를 함수 포인터처럼 사용할 수 있습니다. 함수 호출 연산자를 제공하는 클래스의 객체를 함수 객체(function object, or functor)라고 합니다. 이 연산자는 non-static 메소드로 오버로딩해야 합니다. 아래 코드를 통해 o.. 2022. 2. 20.
[C++] 연산자 오버로딩 (1) References Professional C++ Contents 연산자 오버로딩 (Operator Overloading) 산술 연산자 오버로딩 비트 연산자 / 논리 연산자 오버로딩 스트림 입출력 연산자 오버로딩 인덱스 연산자 오버로딩 C++에서는 +,-,= 과 같은 연산자의 의미를 클래스에서 새롭게 정의할 수 있습니다. 연산자 오버로딩을 활용하면 클래스를 int나 double 같은 기본 타입으로 취급할 수 있습니다. 심지어 클래스를 배열이나 함수, 포인터처럼 만들 수도 있습니다. 아마 오버로딩에 관해서는 잘 알고 있을거라고 생각하지만, 놓치는 부분들이 있을 수도 있는 연산자 오버로딩에 대해 세부사항들을 소개해보도록 하겠습니다. 1. 연산자 오버로딩 개요 C++은 +, myCell >> anotherCe.. 2022. 2. 20.
[C++] 클래스(Class) 심화편 (3) References Professional C++ https://en.cppreference.com/w/ Contents 연산자 오버로딩 Pimpl Idiom or Bridge Pattern 클래스 심화편 세 번째 포스팅입니다 ! [C++] 클래스(Class) 기본편 [C++] 클래스(Class) 심화편 (1) [C++] 클래스(Class) 심화편 (2) 이번 포스팅에서는 연산자 오버로딩과 C++ 디자인을 고려하여 안정적인 인터페이스를 만드는 방법에 대해서 알아보도록 하겠습니다 ! 7. 연산자 오버로딩 객체끼리 더하거나, 비교하거나, 파일에 객체를 스트림으로 전달하거나 반대로 가져오는 등의 객체에 대한 연산을 수행할 때가 많습니다. 예를 들면, 스프레드시트 어플리케이션을 유용하게 사용할 수 있도록 행 전.. 2022. 2. 13.