静态函数不能引用非静态成员变量的原因,this指针

类B可以有多个对象b1,b2,b3等。

类B中  static int x; int y;

那么x是类B所有对象共享的共有的,y是对象各自拥有的。

当静态函数中使用y时,编译器不知道是哪个对象的y,所以报错。

【this指针】

this指针是指向具体对象的。普通成员函数都隐式包含一个指向当前对象的this指针。

静态成员变量、静态成员函数是属于整个类的。因此不包含指向具体对象的this指针。

 

posted @ 2020-02-01 16:37  夕西行  阅读(395)  评论(0编辑  收藏  举报