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. 이전 1 다음