📄 subject_40971.htm
字号:
<p>
序号:40971 发表者:泥巴鱼 发表日期:2003-05-22 18:43:59
<br>主题:新手问:同一个Project里的不同类怎么调用同一个函数?
<br>内容: 我在一个Project里面新建了很多Dialog based的类,每个类都要调用函数BOOL sendmsg(CString str),请问这个函数体应该在什么地方定义,才可以让这些类都可以调用它?我把sendmsg定义成CProDlg类的一个成员函数,然后在类CLogDlg里面调用sendmsg(),编译报错说"sendmsg()没有定义",在LogDlg.cpp里面有#include "pro2.h".敬请高手指教,谢谢!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:落人村 回复日期:2003-05-22 19:22:41
<br>内容:你可以写一个全局函数呀<BR>具体的我也不知道怎么做
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:金枪鱼 回复日期:2003-05-22 20:32:15
<br>内容:那要看你采用什么样的方式。<BR>一般是采用公有派生,首先基于CDialog派生一个你需要的类A,在A中定义这个sendmsg()。注意要根据你的需要选用函数的类型,如果不允许外部调用则定义为保护性成员,否则设置为公有成员。千万不要设置为私有成员。如果在你后面的派生类中要重新定义这个函数,则还要定义它为虚函数,当然如果在后面的派生类中,函数的参数或者返回不同,也可以使用函数重载的方式实现。<BR><BR>然后再以类A为基类,公有派生出你的其它类B、C、D、......,这样在B、C、D这些基于对话框的类中都可以调用这个sendmsg。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-23 11:09:18
<br>内容:谢谢帮忙!我建立的这些对话框都派生于CDialog类,不好再继续派生.不过我找到金枪鱼老兄的"全局变量如何定义"的文章,用全局函数解决了问题,谢谢二位!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -