静态成员函数无法访问非静态成员
为何静态成员函数无法对对象中非静态成员进行访问?
首先说明static修饰不同量的特性
| 修饰常量 | 修饰成员变量 | 修饰成员函数 | |
| static | 在函数执行后不会释放其内存空间 | 只能在类内部定义声明,外部初始化(:😃,且不加static。它是类的一部分,所有对象的静态成员共享一块静态存储空间 | 目的是作为类作用域的全局函数。 不能访问和存取类的非静态成员变量;没有this指针;不能声明为虚函数 |
因为对象在调用非静态成员函数时,系统会把对象的初始指针赋给成员函数的this指针,而静态成员函数不属于任何一个对象,也就没有this指针,所以无法访问非静态成员
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
