2016 - 2024

感恩一路有你

静态成员函数只能访问静态数据成员 静态成员函数为什么不能访问本类中的非静态成员?

浏览量:1452 时间:2021-03-12 09:37:47 作者:admin

静态成员函数为什么不能访问本类中的非静态成员?

程序最终将在内存中执行,变量只有在占用内存中的某个位置时才能被访问。类的静态成员(变量和方法)属于类本身,在加载类时会分配内存,可以通过类名直接访问内存。非静态成员(变量和方法)属于类对象,因此只有在生成类对象(创建类实例)然后通过类对象(实例)访问时才会分配内存。在静态成员中访问类的非静态成员时出错的原因是,当该类的非静态成员不存在时,该类的静态成员已经存在。当然,访问内存中不存在的东西时会出错:类ca{私人:INTA//非静态成员在创建类实例时分配内存。一个类的不同实例对应不同的内存区域

静态成员函数不能访问非静态成员变量。这是一条规则。但你可以改变解决问题的方法。除了锁定静态成员函数外,线程入口函数也可以是全局函数。在全局函数中获得主窗口的句柄后,可以访问各种成员变量。我希望它能帮助你。

静态成员函数可以访问非静态成员变量吗?

可以直接访问非静态功能。不能直接访问静态函数,因为可以通过class::functions而不是对象直接调用静态函数。非静态函数必须通过对象调用,这也涉及到实例化对象时的内存分配。

静态成员函数只能访问静态数据成员 静态成员函数定义 访问静态数据成员的两种方法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。