본문 바로가기
!?/C++

연산자 오버로딩

by Where's my namespace 2012. 10. 12.

연산자 오버로딩은 아주 많이 쓰이는 기능들 중에 하나다.

 

연산자 오버로딩으로 클래스+클래스 와 같은 일반적으로 불가능한 연산도 가능하게 만들수 있어서, 클래스 사용에

 

많은 도움이 된다. 허나 너무 많은 연산자 오버로딩은 오히려 독이 될 수 도 있으니 항상 주의 해야한다.

 

우선 어떻게 사용하는지를 살펴보자.

 

사용법은 간단하다. 

ReturnType    operator"?"(left, right) {

return ReturnType형;

}

과 같이 사용하면 된다. 다소 어려워 보일 수 도 있는데 예를 보자.

Complex 라는 class가 있다고 가정하자.

Complex operator+ ( Complex A , ComplexB) {

A.실수 = A.실수 + B.실수;

A.허수 = A.허수 + B.허수;

return A;

}

와 같이 사용하면 된다. 간단하다. 뒤에 오는 인자는 2개가 올수 있다. 간단하지않은가.

 

'!? > C++' 카테고리의 다른 글

QT Excel Automation  (0) 2014.08.25
형변환  (0) 2012.10.12
접근 범위, 존속 기간  (0) 2012.09.14
Exception Handling  (0) 2012.09.10
오버라이딩  (0) 2012.08.30