C++ Chapter 9.8 : 괄호 연산자 오버로딩과 함수 객체

Date:     Updated:

카테고리:

태그:

인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!


chapter 9. 연산자 오버로딩 : 괄호 연산자 오버로딩과 함수 객체

괄호 연산자 : ()

추가적인 설명은 이전 포스트인 9.1 연산자 오버로딩 시작하기 참고하기

() 괄호 연산자는 보통 함수 호출할 때 사용된다. 객체(인수)로 함수처럼 동작하고 싶을 때 사용하는 연산자 오버로딩이다.


🔔 멤버 함수로 구현하기

📢 주의사항 : ()연산자 오버로딩은 멤버 함수로만 구현이 가능하다.이유는 모르겠지만😱 전역 함수로 구현하는 것은 막혀있다.

#include <iostream>
using namespace std;

class Accumulator
{
private:
	int m_counter = 0;

public:
	int operator() (int i) 
    { 
        return (m_counter += i); 
    } 
};

int main()
{
	Accumulator acc;

	cout << acc(10) << endl; // 10 출력
	cout << acc(20) << endl; // 30 출력

	return 0;
}
  • Accumulator 타입의 객체 acc
    • acc(10)
      • int operator() (int i) 이 호출된다.
      • 10 을 리턴
    • acc(20)
      • int operator() (int i) 이 호출된다.
      • 30 을 리턴


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기


댓글남기기