当前位置: 代码迷 >> VC/MFC >> 新手MFC在一个对话框类的.h文件的public中声明的变量,在对应的.cpp文件中可以直接使用,而不需要通过对象来调用,这是为什么
  详细解决方案

新手MFC在一个对话框类的.h文件的public中声明的变量,在对应的.cpp文件中可以直接使用,而不需要通过对象来调用,这是为什么

热度:104   发布时间:2016-05-02 03:38:38.0
新手求教:MFC在一个对话框类的.h文件的public中声明的变量,在对应的.cpp文件中可以直接使用,而不需要通过对象来调用,这是为什么
假设我在对话框类的.h文件的public中声明变量 int i,j;
那我在 对应的.cpp文件中的OnInitDialog中直接初始化  i=j=0;
接下来在OnPaint或者OnTimer等各个函数中也可以直接使用 变量i,j,而不需要通过对话框类的对象来调用这个成员变量,这是为什么?

------解决思路----------------------
小伙子,你想多了吧!

这个是类的成员变量,public、protected和private类型的成员变量,该类的成员函数(非静态成员函数),也就是类内能直接访问啊

类外就不能直接访问了,必须要通过类的具体对象来访问。当然,这只限于public类型的成员变量,protected和private类型的成员变量是不能通过类对象直接访问的,因为受到访问权限的控制,这种情况下必须要通过类的public类型的成员函数来访问
------解决思路----------------------
你的OnPaint或者OnTimer等各个函数本来就是对话框类的成员吧?这当然可以直接调用。

楼主的基础没学好,可能略过了基础教程中,关于成员变量、成员函数讲解那一节。
------解决思路----------------------
类的成员函数没有任何限制的访问该类的成员。
  相关解决方案