日期类:
class Date
{
public :
void Display ()
{
cout <<_year<< "-" <<_month << "-"<< _day <<endl;
cout<<this->_year<<"-"<<this->_month<<"-"<<this->_day<<endl;
//两个一样
}
private :
int _year ; // 年
int _month ; // 月
int _day ; // 日
};
Dissplay()函数是怎样访问结构成员的???
只有对象才能调用类的数据成员和成员函数
每个成员函数都有一个隐藏的指针,该指针指向当前对象,所以才可以访问数据成员,这个指针不需要用户来传,编译器自动完成。
特性
- this指针的类型:类类型* const
- 只能在“成员函数”的内部使用
- this指针本质上其实是一个成员函数的形参,是对象调用成员函数时,将对象地址作为实参传递给this形参。所以对象中不存储this指针。
- this指针是成员函数第一个隐含的指针形参,一般情况由编译器通过ecx寄存器自动传递,不需要用户传递
- this指针不可以为空