一个类如何使用另一个类中的某个指针 30
创建了一个工程在对话框类Dlg中定义了一个文本框文本框的指针是_Editor003。我想在命令类Cmd中使用_Editor003.请问应该怎样做我直接使用_Editor0...
创建了一个工程 在对话框类Dlg中 定义了一个文本框 文本框的指针是_Editor003。我想在命令类Cmd中使用_Editor003.请问应该怎样做 我直接使用_Editor003提示我未定义 我感觉可能是_Editor003不是Cmd的成员。我在Cmd中建立了一个对话框类的指针MyCreateCylinderDlg * _pCylinderDlg; 不知道如何才能使用_Editor003了。。。。在线等待大家的回复
展开
2个回答
展开全部
至少两个比较简单合理的方法:
_Editor003作为Dlg的成员变量
通过获取Dlg指针去引用Dlg->_Editor003
获取Dlg指针,使用Dlg->GetDlgItem(IDC_TEXT)获取,其中IDC_TEXT是文本框的资源ID
作为更合理的方法,给Dlg增加成员函数,返回_Editor003的指针
追问
我刚才一直在使用第一个方法 我想使用文本框调用一个函数 _Editor003->SetFloatValue(CurveLength,1) 该怎么写?是_pCylinderDlg->_Editor003->SetFloatValue(CurveLength,1)这样吗?
追答
看私信
2015-10-15 · 知道合伙人互联网行家
关注
展开全部
传递类的成员函数的指针必须同时传递能够调用该成员函数的对象,因为除了类的静态成员函数,只有类的对象才能调用其成员函数。
*/
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 );
}
*/
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 );
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询