请各位高手帮忙。。在线等。在线给分。如何在另一个类中调用一个类的变量。

xiaolingtongsw 2005-05-01 08:46:19
class CBaDialog : public CDialog
{
public:
CBaDialog(CWnd* pParent = NULL);
CListCtrl m_ListCtrlb;
int avermark1;}
void CBaDialog::OnExport2()
{int k=1;
CString stri2 = m_ListCtrlb.GetItemText(k,2);
avermark1=atoi(stri2);
}现在要在另一个类中调用avermark1的值。。。为什么会出错。
class Cchartresult : public CDialog
{public:
Cchartresult(CWnd* pParent = NULL);

protected:
CMSChart m_Chart;//控件对象
}
#include "BaDialog.h"
BOOL Cchartresult::OnInitDialog()
{m_Chart.GetDataGrid().SetData(1, 2, avermark1, 0);
//此处用到了。avermark1变量

}
问题解决马上结贴。。。thank you!!
...全文
318 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
love_xf 2005-05-02
  • 打赏
  • 举报
回复
这个问题不是很好解决嘛,你已经包含了那个类的头文件了,只需声明一个他的类对象,再用这个类对象去访问他的成员变量不就结了.


BOOL Cchartresult::OnInitDialog()
{
CBaDialog *dlg=new CBaDialog();
m_Chart.GetDataGrid().SetData(1, 2, dlg->avermark1, 0);
42252343 2005-05-02
  • 打赏
  • 举报
回复
avermark1为CBaDialog类的成员 且avermark1又不是静态变量 所以在Cchartresult类中是无法直接调用的
两种方法解决
1.将avermark1设为静态成员变量
2.在Cchartresult中创建CBaDialog类的对象 比如
CBaDialog bDlg;
int i=bDlg.avermark1;
这样来调用
xiaolingtongsw 2005-05-02
  • 打赏
  • 举报
回复
各位高手快点吧。明天一定结贴。。
xiaolingtongsw 2005-05-02
  • 打赏
  • 举报
回复
还是不行啊。传不过来。
烟火...... 2005-05-01
  • 打赏
  • 举报
回复
学习
柯本 2005-05-01
  • 打赏
  • 举报
回复
也可用静态变量来实现:
class CBaDialog : public CDialog
{
public:
CBaDialog(CWnd* pParent = NULL);
CListCtrl m_ListCtrlb;
static int avermark1;
};
int CBaDialog :: avermark1=0; //必须初始化

调用时:
BOOL Cchartresult::OnInitDialog()
{m_Chart.GetDataGrid().SetData(1, 2, CBaDialog :: avermark1, 0);

Kudeet 2005-05-01
  • 打赏
  • 举报
回复
class CBaDialog;//类声明

class Cchartresult : public CDialog
{public:
Cchartresult(CWnd* pParent = NULL);
CBaDialog temp; //然后用temp来访问
protected:
CMSChart m_Chart;//控件对象
}
xiaolingtongsw 2005-05-01
  • 打赏
  • 举报
回复
没人答。。自己顶先。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧