'); }
'); }
const 이야기..
상수 함수.!!
class Point
{
public:
int x,y;
Point(int a = 0, int b = 0) : x(a), y(b) {}
void Set(int a, int b) {x = a; y = b;}
void print() const //상수함수, 컴파일러에게 멤버 바꾸는게 없다는 것을 보장해서 알려주는 것
{
cout << x << ", " << y << endl; // read 는 가능..
}
};
int main()
{
const Point p(1,2);
p.x = 10; // error 나야하고 맞음
p.Set(10, 20); // const니가 error나야 하고 맞음
p.print(); //될까? 되야 할까? 안되야 할까? 되야 하죠
// print()가 상수함수여야만 가능하다.
또 다른 예)
이동하지 못하는 사각형을 만든다면 그 사각형의 면적도 구할 수 없어야 할까요?
면적은 이동하지 못하는 사각형이라도 할 수 있어야 함
면적 구하는 함수는 상수함수로 만든다
//중요~~~
멤버 함수가 멤버변수를 바꾸는게 없으면 무조건 꼭 const를 붙여야 한다.
}
'Tech & IT > 프로그래밍' 카테고리의 다른 글
Binder5 (Android Framework) (0) | 2012.03.21 |
---|---|
Binder 2 (Android Framework) (0) | 2012.03.21 |
Android Franwork Binder(Server, Client) c부터 cpp까지 (0) | 2012.03.20 |
vi잘쓰기 (ctags활용) (0) | 2012.03.20 |
C++ Template 활용(Android쪽 코드) (0) | 2012.03.19 |