* http://sosal.tistory.com/
* made by so_Sal
*/
Const는, 일반적으로 변수에 쓰이며, 선언할 때 정의된 값을 변경하지 못하게
하기 위한 '속성' 입니다. 하지만 변수 뿐만아니라 함수에도 const 속성은 사용됩니다.
const 함수의 특징
- 멤버 변수의 값을 변경하지 않는 멤버 함수
즉, 데이터를 수정하는 함수가 아닐 때, 개발자가 실수로 멤버변수의 값을
바꾸지 못하도록 하는 보안장치라고 볼 수 있습니다.
- 간단한 const 속성을 가진 함수의 선언 방법
함수에 const 속성을 넣는 방법은, 일반 변수 선언과 다르지 않습니다.
const void func();
- const 속성을 가진 객체 멤버 함수를 선언하는 방법
class{
~
void func() const;
};
기본 타입의 변수가 const라면, 그 변수의 값을 바꿀 수 없었는데,
객체가 const인 경우에는 해당 객체의 멤버변수의 값을 바꿀 수 없습니다.
/*
* const의 쓰임새를 알 수 있는 과일 객체 예제입니다.
* GetPrice() 함수는 멤버변수의 값을 수정하지 않습니다.(const)
* SetPrice() 함수는 멤버변수의 값을 수정합니다.
*/
#include<iostream>
using namespace std;
class fruit{
private:
int price;
public:
fruit(int cost){
price = cost;
}
int getPrice() const{
return price;
}
void setPrice(int cost){ // setPrice 함수에는
price = cost; // const 속성이 있다면 컴파일에 실패합니다.
}
};
int main(){
fruit apple(3000);
cout<<apple.getPrice()<<endl;
apple.setPrice(2000);
cout<<apple.getPrice()<<endl;
return 0;
}
'Programing > C- programing' 카테고리의 다른 글
최대공약수 최소공배수 gcd lcm 소스코드 (0) | 2011.02.12 |
---|---|
C++ - 포함과 상속 (2) | 2010.12.28 |
C++ - inline function 인라인 함수 (0) | 2010.09.14 |
C++ - 복사생성자 (얕은복사와 깊은복사) (2) | 2010.09.02 |
Topological sort 알고리즘 (0) | 2010.09.01 |