때때로 우리는 함수 선언의 마지막에 존재하는 키워드 'const'를 찾을 수 있습니다. 그래서 그것은 무엇을 의미합니까?
이 하나의 함수를 사용하여 상수로 만들 수 있습니다. 상수 함수의 개념은 함수가 호출되는 객체에서 함수를 수정할 수 없다는 것입니다. 우리 프로그램에서 상수 함수를 사용하는 것이 좋습니다.
상수 함수의 한 가지 예를 살펴보겠습니다.
예시
#include<iostream> using namespace std; class MyClass { int value; public: MyClass(int val = 0) { value = val; } int getVal() const { //value = 10; [This line will generate compile time error as the function is constant] return value; } };
출력
The value is: 80
이제 우리는 상수 함수와 관련된 또 다른 중요한 점을 보게 될 것입니다. 상수 함수는 위의 예에서 보았듯이 모든 유형의 객체에서 호출할 수 있습니다. 그러나 일부 상수가 아닌 함수는 상수 개체에서 호출할 수 없습니다.
예시
#include<iostream> using namespace std; class MyClass { int value; public: MyClass(int val = 0) { value = val; } int getVal(){ return value; } }; main() { const MyClass ob(80); cout<< "The value is: " << ob.getVal(); }
출력
[Error] passing 'const MyClass' as 'this' argument of 'int MyClass::getVal()' discards qualifiers [-fpermissive]