Demonstrate mutable.
#include <iostream>
using namespace std;
class MyClass {
mutable int i;
int j;
public:
int geti() const {
return i; // ok
}
void seti(int x) const {
i = x; // now, OK.
}
/* The following function won"t compile.
void setj(int x) const {
j = x; // Still Wrong!
}
*/
};
int main()
{
MyClass ob;
ob.seti(1900);
cout << ob.geti();
return 0;
}
1900"
Demonstrating storage-class specifier mutable
#include <iostream>
using std::cout;
using std::endl;
class MyClass {
public:
MyClass( int v )
{
value = v;
}
int getValue() const
{
return value++;
}
private:
mutable int value;
};
int main()
{
const MyClass test( 99 );
cout << "Initial value: " << test.getValue();
cout << "\nModified value: " << test.getValue() << endl;
return 0;
}
Initial value: 99
Modified value: 100