成员函数具有一个附加的隐含的形参,即指向该类对象的一个指针。这个隐含的形参命名为this,与调用成员函数的对象绑定在一起。
1.const对象只能引用const成员
2.在const成员函数中,this的类型是一个指向const类类型的对象的const指针,既不能改变this指向的值,
也不能改变this所保存的地址
3.非const成员函数中this的类型是一个指向类类型的const指针,可以改变this指向的值,但不能改变this所保存的地址.
1.const对象只能引用const成员
2.在const成员函数中,this的类型是一个指向const类类型的对象的const指针,既不能改变this指向的值,
也不能改变this所保存的地址
3.非const成员函数中this的类型是一个指向类类型的const指针,可以改变this指向的值,但不能改变this所保存的地址.
4.const成员函数返回的*this是一个cosnt对象,而const对象是只能使用const成员函数
#include <iostream>
using namespace std ;
class Student
{
public:
Student() : weight( 0 ) , height( 0 ) { }
void display() { cout << "non_const : height = 188 , weight = 90 " << endl ; }
void display() const { cout <<"const : height = 180 , weight = 88 " << endl ; }
Student& set( int weight , int height )
{
this->weight = weight ;
this->height = height ;
return *this ;
}
public:
int height ;
int weight ;
} ;
int main()
{
const Student stu ;
stu.display() ;
return 0 ;
}