zoukankan      html  css  js  c++  java
  • MFC 一个类訪问还有一个类成员对象的成员变量值

    作者:卿笃军

    原文地址:http://blog.csdn.net/qingdujun/article/details/35263857


    MFC中一个类要訪问另外一个类的的对象的成员变量值,这就须要获得原来那个类对象的指针,事实上有好几种方法都能够实现。

    比方维护一个单例模式、设置静态变量等等。我们这里举个列子,实现多个类之间的相互訪问。


    一、演示样例:创建MFC对话框,实现对个对话框之间数据訪问

    1. 我们创建一个MFC对话框应用程序,命名为Visitproject.
    2. 对话框本身有一个主界面(CVisitDlg对话框),那我们再加入�一个新界面CXXXDlg.

    二、在主界面CVisitDlg类的头文件里,加入�一个static CVisitDlg *s_pDialog;指针(注:加入�为共同拥有类型的)

    因为这个指针式静态的,我们须要在类外初始化,那么我们在CVisitDlg .cpp文件里,写上一行初始化代码,直接初始化为空,例如以下:

    CVisitDlg *CVisitDlg::s_pDialog = NULL; //(注意要写在类外,不要写在类实现函数里面)。

    三、然后须要在CVisitDlg 主对话框生成的时候,给这个指针赋值为主对话框指针。

    那么,我们能够在CVisitDlg 类的构造函数或者OnInitDialog()函数里面写上例如以下一句代码:

    s_pDialog = this;

    好了,如今我们仅仅要在其它的类里面获得这个静态指针,就能够訪问这个类里面的全部数据了~~~~

    四、获得静态指针

    如果,我们想在CXXXDlg类中訪问CVisitDlg类的数据,例如以下代码轻轻松松搞定:

    CVisitDlg *pDia = CVisitDlg::s_pDialog;


  • 相关阅读:
    docker安装
    win8换win7的操作方法
    java数组实现队列
    springMVC源码学习之获取参数名
    SpringMVC源码学习之request处理流程
    LeetCode 231. Power of Two
    LeetCode 202. Happy Number
    LeetCode 171. Excel Sheet Column Number
    Eclipse 保存代码时,不自动换行设置
    LeetCode 141. Linked List Cycle
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3817168.html
Copyright © 2011-2022 走看看