成员变量和成员函数分开存储
- 
只有非静态的成员变量才属于类的对象
 - 
C++编译器会给每个空对象分配一个字节的内存空间,是为了区分空对象占内存的位置,每个空对象都有一个唯一的内存地址
 - 
静态成员变量和静态成员函数、非静态成员函数都不属于类的对象上
 
this指针
- 由于非静态成员函数只会诞生一份函数实例,多个同类型的对象共用一块代码
 - C++通过this指针,区分是哪个对象在调用这个非静态成员函数
 - this指针指向被调用的成员函数所属的对象
 
用途:
- 
当形参和成员变量同名时,可用this指针来区分
 - 
在类的非静态成员函数中返回对象本身,可使用return *this
Person& addAge(Person &p){ this->age+=p.age; return *this; } int main(){ Person p(10); p.addAge(10).addAge(10);//链式编程 } 

京公网安备 11010502036488号