首先就先说说类对象的存储方式吧!
C++类对象中的成员变量和成员函数是分开存储的:
普通成员变量:存储于对象中,与struct变量有相同的内存布局和字节对齐方式
静态成员变量:存储于全局数据区中
成员函数:存储于代码段中。
肯定会有同学问,既然代码段是公用的,那么怎么区分是哪个对象调用的呢?
其实,c++编译器对普通成员函数做了一个隐士的处理,偷偷的增加了一个指针,就是this指针,来确定是哪个对象来调用成员函数的,注意是普通成员函数,如果静态成员函数,是没有的,该类函数是属于类的,以类为维度。
所以当类的变量和构造函数等的参数名相同时,可以用this指针来区别要使用哪个变量;