본문 바로가기

STL/CHAPTER 1. 연산자 오버로딩2

1. 연산자 오버로딩 정의 및 사용하기 우리가 사용할 수 있는 연산자는 정말 다양하죠. + , - , * 등등 많습니다. 이런 연산자들은 기본 자료형에서만 사용이 가능합니다. 즉 우리가 class나 struct를 사용하여 만드는 사용자 정의형으로는 연산자를 이용할 수 없습니다. 왜냐하면 컴파일러 내부에 정의되어 있지 않기 때문입니다. 따라서 우리는 우리가 만든 자료형에 연산자를 사용하기 위하여 연산자 오버로딩을 하게 됩니다. 다음은 그 간단한 예시 입니다. 사용자가 정의행 Point형 객채 p1 과 p2에 덧셈연산이 가능해졌습니다. 10 ~ 17라인까지의 연산자 오버로딩이 없었다면 불가능한 일입니다. Point 객체 두개에 덧셈 연산이 일어나게 되면 컴파일러는 Point 클래스에 정의되어 있는 operator+() 멤버 함수를 호출하게 되고 .. 2019. 12. 27.
0. const에 관하여 STL 공부에 앞서서 STL에 필요한 C++문법을 다시 한번 짚고 넘어갑니다. 그 중 하나가 바로 const에 관한 것 입니다. 책의 순서와는 상관이 없지만 앞으로의 내용을 이해를 위해 가장 먼저 배치 해보았습니다. 코드를 보시면 아시겠지만 GetX()와 GetY() 멤버 함수는 const함수입니다. 즉 함수 내부에서 멤버 변수 값을 바꿀 수 없다는 말입니다. 다음 포인트는 const 객체로 선언이 되어 있는 p1객체입니다. const객체는 초기에 설정된 멤버 변수 값을 바꿀 수 없습니다. 따라서 const 객체 p1은 const가 선언되어 있는 멤버 함수만 호출이 가능합니다. const 객체가 아닌 p2는 어떠한 멤버 함수든 호출이 가능하지만 p1은 const가 선언되어 있는 멤버함수인 GetX()와 .. 2019. 12. 27.