본문 바로가기

C++

C++ 10일차

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는 반환값을 상수형으로 준다는 소리입니다.

'C++' 카테고리의 다른 글

C++ 12일차  (0) 2018.06.10
C++ 11일차  (0) 2018.06.05
C++ 9일차  (0) 2018.06.02
C++ 8일차  (0) 2018.06.02
C++7일차  (0) 2018.06.01