不懂
我看书上说用mutable声明的数据成员不是只能在常函数中修改它的值么?为什么我在主函数中也可以把它修改掉?
#include <iostream>
using namespace std;
class Time
{
public:
Time(int,int,int);
mutable int hour;
mutable int minute;
int sec;
void get_time() const;
};
Time::Time(int h,int m,int s)
:hour(h),minute(m),sec(s)
{}
void Time::get_time() const
{
cout<<hour<<":"<<minute<<":"<<sec<<endl;
hour=13; //常函数中修改值
}
int main()
{
Time t1(12,5,6);
t1.get_time();
t1.minute=55; //主函数中修改值
t1.get_time();
return 0;
}
运行结果如下:
12:5:6
13:55:6