const가 변경을 원하지 않을때 사용한다라고 간단하게 알고있는데요
int BankAccount::round(double number) const
{
return static_cast(floor(number + 0.5));
}
여기서는 멤버함수 다음에 const를 선언했잖아요
그럼 어느단계에서 변경이없어야하나요?
처음엔 파라미터로 넘어온 number의 변경인줄알고
number =3 으로 컴파일했는데 이상없이 됩니다..
const가 변경을 원하지 않을때 사용한다라고 간단하게 알고있는데요
int BankAccount::round(double number) const
{
return static_cast(floor(number + 0.5));
}
여기서는 멤버함수 다음에 const를 선언했잖아요
그럼 어느단계에서 변경이없어야하나요?
처음엔 파라미터로 넘어온 number의 변경인줄알고
number =3 으로 컴파일했는데 이상없이 됩니다..
멤버변수 값을 바꿔보셈
코드에 따로 접근하는 멤버변수가 없는데요..
그럼 임시로 만들고 실험해보셈
클래스 멤버 함수 뒤에 붙는 const는 멤버 변수 상태를 바꾸지 않겠다는 표시임 파라미터는 바꾸든 말든 상관없는데
그 멤버변수에대한 정확한 이해가 안됩니다 예를들어서 출력을하는 output이라는 함수가있을때 output을 통해서 클래스 내부의 변수를 바꾸지 않겠다는 선언인가요?
아니 그냥 Student 클래스가 있다 치고 const Student stu; //클래스 변수를 const로 선언 이 stu는 뒤에 const붙은 멤버 함수만 사용가능함 그냥 멤버 변수 안 바꾸면 다 붙여야 되는 거임
테스트해보고 다시오겠습니닷
해당 댓글은 삭제되었습니다.
넵
클래스 내의 멤버변수 값 변경을 불허