mfc,c++,不同类之间的变量传递

代码客栈 其他问答 1

MFC程序中, 不同类之间的变量是怎么传递的?比如我有两个类: 1.a,h/a,cpp 2.b,h/b,cpp 现在有两种情况: 情况1: 在a,cpp里定义了一个 double 变量叫做 tempvalue, 经过一些处理之后,我想把 tempvalue的值传到b,cpp使用,那么该如何传递此变量? 情况2: 在a,h里定义了一个Public变量叫做 pubvalue, 现在同样想把此变量传到 b,cpp里,怎么该怎么办? 可不可以举例说明?

回复

共2条回复 我来回复
  • 源码码头
    这个人很懒,什么都没有留下~
    评论

    一般的写法: 1:在a.cpp里定义了一个 double 变量叫做 tempvalue,如果你不是在函数中定义的,那么tempvalue是全局变量,b.cpp 中 写上extern double tempvalue 以后就可以直接使用tempvalue了。你也可以让a提供一个静态函数,返回这个全局对象tempvalue,b需要包含a.h以后直接调用。 2:在a.h里定义了一个Public变量叫做 pubvalue,那么pubvalue是a类的成员对象,如果b想用a.h里定义的pubvalue,那么b必须能拿到a的对象才能使用pubvalue。如果pubvalue是静态的那可以在a类中提供一个静态函数。pubvalue隶属于a类对象,每个a对象的pubvalue都是独立的。不知道这么说你能不能明白。b需要拿到a对象,否则是拿不到a的成员变量的,如果a只有一个对象,或者你只关心某个a对象的pubvalue,那么你可以在a.cpp中建立一个全局对象类似于tempvalue,然后b像方法1一样使用。

    0条评论
  • 源码工厂
    这个人很懒,什么都没有留下~
    评论

    第一种、 在a.cpp中 定义的变量tempvalue 是全局的。 在b.cpp 中 写上extern double tempvalue 。 第二种、 把变量tempvalue 处理完了之后,写入到一个文件。 在b.cpp中读取那个文件 进行取值。 第三种、使用socket通信 ,把处理完之后值 发送出去 。在b.cpp中接收 (a.cpp 和 b.cpp 要同时运行)。

    0条评论

发表回复

登录后才能评论