본문 바로가기

C++

멤버함수의 상수화

1 멤버 변수의 값을 조작할 수 없다.

2 멤버 변수의 값을 조작할 수 있는 기회 조차 없다.
포인터를 리턴 ? : 포인터값으로 주소를 안다. : 조작의 가능성이 있다.

컴파일 타임 : 함수의 상수화의 유뮤에대한 판단만 한다.
런타임 :
class S
void Showdata() const  //  함수의 상수화 (맴버변수의 변경이 불가능 : 컴파일 타임이  에러를 발생)
// 일반적으로 참조는 가능하다.


....

class Count
{
       int cnt;
public :
Count() : cnt (0){}
int * GetPtr() const
{
    return &cnt;//컴파일 타임에 에러 발생~!!
 void Increment(){
  cnt++;
}
  void ShowData() const
[
  ShowIntro();//Compile Error
  cout<<cnt<<endl;
}