一个类如何使用另一个类中的某个指针 30

创建了一个工程在对话框类Dlg中定义了一个文本框文本框的指针是_Editor003。我想在命令类Cmd中使用_Editor003.请问应该怎样做我直接使用_Editor0... 创建了一个工程 在对话框类Dlg中 定义了一个文本框 文本框的指针是_Editor003。我想在命令类Cmd中使用_Editor003.请问应该怎样做 我直接使用_Editor003提示我未定义 我感觉可能是_Editor003不是Cmd的成员。我在Cmd中建立了一个对话框类的指针MyCreateCylinderDlg * _pCylinderDlg; 不知道如何才能使用_Editor003了。。。。在线等待大家的回复 展开
 我来答
龚炜林
2014-09-21 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:557万
展开全部

至少两个比较简单合理的方法:

  1. _Editor003作为Dlg的成员变量

    通过获取Dlg指针去引用Dlg->_Editor003

  2. 获取Dlg指针,使用Dlg->GetDlgItem(IDC_TEXT)获取,其中IDC_TEXT是文本框的资源ID

  3. 作为更合理的方法,给Dlg增加成员函数,返回_Editor003的指针

追问
我刚才一直在使用第一个方法 我想使用文本框调用一个函数 _Editor003->SetFloatValue(CurveLength,1) 该怎么写?是_pCylinderDlg->_Editor003->SetFloatValue(CurveLength,1)这样吗?
追答
看私信
百度网友96ffcf7
2015-10-15 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118716
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
传递类的成员函数的指针必须同时传递能够调用该成员函数的对象,因为除了类的静态成员函数,只有类的对象才能调用其成员函数。
*/
void fun2(double a,double b,T a1,void(T::*fun)(double,double))
{
(a1.*fun)(a,b);
}
};
class C{
public:
void fun3(double a,double b)
{
cout<<a*b<<endl;
}
};
void main()
{
A a;
B b;
C c;
/*
&A::fun1传递一个类的成员函数指针的方式。
*/
b.fun2(10,19,a,&A::fun1);
b.fun2(10,19,c,&C::fun3 );
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式