this指针的类型为:classType *const      // 即指向类类型非常量版本的常量指针

所以,我们不能把this绑定到一个常量对象上 ===>  不能在一个常量对象上调用普通的成员函数

class A {
public:
	void print()
	{
		// ...
	}
};


int main()
{
	const A a;
	a.print();	// 非法 
	return 0;
}

我们可以通过在成员函数的参数列表后面加上const关键字,来修改this指针的类型为const classType *const

因为this是指向常量的指针,所以常量成员函数不能改变调用它的对象的内容!!

const成员函数使得this指针指向常量,故任何对象都可以调用const成员函数

 

注:只有在const成员函数中,this的类型才变为const classType *const

相关文章:

  • 2022-12-23
  • 2022-01-10
  • 2021-08-06
  • 2021-06-11
  • 2021-11-24
  • 2022-01-02
  • 2021-12-31
猜你喜欢
  • 2021-06-12
  • 2022-12-23
  • 2022-12-23
  • 2021-06-26
  • 2021-12-29
  • 2022-02-11
相关资源
相似解决方案