fullstack

'연산자 오버로딩'에 해당되는 글 1건

  1. [C++] 연산자 오버로딩

[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=0int _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