void Date::print()
{
m_year = 200;
cout << m_year << "年" << m_month << "月" << m_day << "日" << endl;
}
如上面代码所示,我们只想打印成员变量的值,没有想要改他,上面就两行我们可以马上找出来,如果200,20000行代码,我们怎么找。
我们先分析一下为什么能改,因为print函数里隐式传了一个参数,是this指针,所以如果我们不想修改那么就需要给this指针来一个const限定一下,但是里面并没有参数我们可以加,C++就规定了如果想让this指针只有可读的属性,就在成员函数的最后面写一个const
void Date::print() const
{
cout << m_year << "年" << m_month << "月" << m_day << "日" << endl;
}
这样我们就可以避免犯错。