课程
/后端开发
/C++
/C++远征之封装篇(下)
printInfo()函数感觉本来就是一个常函数了,为什么后面还要加const呢
2017-10-14
源自:C++远征之封装篇(下) 5-6
正在回答
没有被const修饰,哪儿成了常函数?
printInfo()中的this是Coordinate * const this,即this本身不能改变,而printInfo() const中的this是
Coordinate const * const this,this本身和this指向的对象都不能改变。
常数据成员或者常对象成员是只读属性,printInfo()和printInfo() const互为重载函数,但是前者形参需要读写属性,只能使用普通数据成员,因为后者形参为const *this,与常对象成员实参const是一致的。printInfo() const可以使用普通数据成员,只是不能修改对象成员的值。
举报
封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通