1 #include<iostream> 2 using namespace std; 3 //如果在类A的成员函数dis()中想要修改_z,但是不能修改_x,_y怎么办? 4 //如果dis不加const,那么_x和_y就可以修改,如果加了const,那么_z便不能够修改。 5 //解决方法就是在_z前面加上mutable,表示这个_z对于类A而言,修改他的值并没有多大影响。 6 class A 7 { 8 public: 9 A(int x, int y):_x(x),_y(y) {} 10 void dis() const 11 { 12 cout << "_x=" << _x << endl; 13 cout << "_y=" << _y << endl; 14 _z = 3; 15 } 16 void foo() 17 { 18 cout << "void foo()" << endl; 19 } 20 private: 21 int _x; 22 int _y; 23 mutable int _z; 24 }; 25 26 27 int main(int argc, char* argv[]) 28 { 29 30 A a(1,2); 31 a.dis(); 32 a.foo(); 33 34 const A b(1,2); 35 b.dis(); 36 37 return 0; 38 } 39 40