静态函数不能引用非静态成员变量的原因,this指针
类B可以有多个对象b1,b2,b3等。
类B中 static int x; int y;
那么x是类B所有对象共享的共有的,y是对象各自拥有的。
当静态函数中使用y时,编译器不知道是哪个对象的y,所以报错。
【this指针】
this指针是指向具体对象的。普通成员函数都隐式包含一个指向当前对象的this指针。
静态成员变量、静态成员函数是属于整个类的。因此不包含指向具体对象的this指针。
类B可以有多个对象b1,b2,b3等。
类B中 static int x; int y;
那么x是类B所有对象共享的共有的,y是对象各自拥有的。
当静态函数中使用y时,编译器不知道是哪个对象的y,所以报错。
【this指针】
this指针是指向具体对象的。普通成员函数都隐式包含一个指向当前对象的this指针。
静态成员变量、静态成员函数是属于整个类的。因此不包含指向具体对象的this指针。