[C++] 연산자 오버로딩
Language/C++연산자 오버로딩은 일종의 C++와의 약속이다. operator라는 키워드와 연산자 기호를 묶어서 함수 이름을 정의하면 연산자를 이용해 함수를 호출하는 셈이다.
즉, p+10이라는 문장이 있고, p가 객체라면 p.operator+(10) 이라는 문장으로 해석하여 오버로딩한 함수를 호출하게 되는 것이다.
다음은 간단한 연산자 오버로딩의 예제이다.
1 2 3 4 5 6 7 8 9 10 11 | class Point { private: int x, y; public: Point(int _x=0, int _y=0) : x(_x), y(_y) {} Point operator+(int val); }; Point Point::operator+(int val) { x+=val; y+=val; } |
위와 같이 연산자 오버로딩을 하면 다음과 같이 간단한 방법으로 포인트 객체의 x, y값을 한번에 증가시킬 수 있다.
1 2 | Point p; p+10; |
'Language > C++' 카테고리의 다른 글
[C++] 템플릿 (Template) (0) | 2016.01.10 |
---|---|
[C++] 임시 객체 (0) | 2016.01.04 |
[C++] 다중 상속 (1) | 2015.12.28 |
[C++] virtual 소멸자 (0) | 2015.12.26 |
[C++] 순수 가상 함수와 추상 클래스 (0) | 2015.12.26 |