C++ 10일차
상수형 매개변수와 상수형 메서드
혹시 const라는 것을 아시나요? C++을 하시는 분들이라면 C언어는 마스터 하고 공부하시는 거라 믿고 설명하겠습니다. const는 변수를 상수화 하여 그 값을 변경을 하지 못하게 하는 것입니다. 아래의 예제를 보도록 하죠.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> using namespace std; class count1 { public : count1() : money(0) {} int money1() const { money++; return money; } private : int money; }; int main(void) { count1 a; cout << a.money1() << endl; return 0; } | cs |
아래의 예제는 C++에서 const를 사용하는 방법중 하나를 설명하는 예제입니다. 이 예제를 비주얼 스튜디오로 돌려보려 해도 돌아가지 않을 것입니다. 그 이유는 8-9번째 줄을 보시면 알수 있으신데요 count1이라는 클래스를 만들고 count1안에 int money1이라는 함수가 있는데 옆에 const라는 것이 있네요? 그 뜻은 함수 안의 멤버 변수의 값을 변경을 할수가 없습니다. 따라서 money++이 함수안에 있어 실행이 되지 않았던 것입니다. 이 것을 지우시면 잘 돌아갈 것입니다.
따라서 우리는 C++에서 Const를 사용하는 방법중의 하나를 배웠습니다.
이 const를 잘 사용하면 만약 바뀌면 안되는 값인데 바뀌는 오류를 막을수 있습니다.
단,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> using namespace std; class count1 { public : count1() : money(0) {} const int money1() { money++; return money; } private : int money; }; int main(void) { count1 a; cout << a.money1() << endl; return 0; } | cs |
const int 함수와는 다릅니다. const int는 반환값을 상수형으로 준다는 소리입니다.