DLL 导出类中一个接口函数,返回成员变量//这种情况该怎么更好封装呢??? DLL 导出类中一个接口函数int GetMemberCount() {return m_Count//成员变量} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议不要把类成员变量放在导出类中,你最好再重新封装一层,导出类中以函数接口的形式(Get,Set的方式)访问你的类成员 dll需要导出整个类吗?如果不需要,导出生成和销毁类的函数,然后在功能函数里添加一个int参数,在函数里转换成类的指针如:int GetMemberCount(int class_ptr) { class_a *ptr = (class_a *)class_ptr; return class_ptr->m_Count//成员变量} 你想加个 inline 还是咋的? 函数接口的形式(Get,Set的方式)访问你的类成员//这句话的代码不知道怎么写呀! 比如:# ifdef _HMIEXPORT_CLASS_EXT# define HMIEXPORT __declspec(dllexport)# else# define HMIEXPORT __declspec(dllimport)# endifclass CTestManager;class HMIEXPORT CTestManagerEx{ public: CTestManagerEx(){m_pTestManager = new CTestManager}; ~CTestManagerEx();public: int GetXXX(){return m_pTestManager->xxx;};//函数实现建议放到cpp中去 void SetXXX(int iParam){m_pTestManager->xxx = iParam;};//函数实现建议放到cpp中去private:CTestManager *m_pTestManager;}导出类CTestManagerEx中只暴露一个CTestManager 指针而已,其它参数都通过Get,Set的方式访问,这样导出的类,就算你dll这个类有改动,只要原有的函数都在,你编译后只需要把dll替换就可以了,别人引用你的dll无需重新编译。 修改一下,这个辅助导出类, 封装了楼主需要的功能,但是最好 类提供get,set,导出类也提供相应的get,set,虽然繁琐一些。可以提供c接口去封装了这个c++类 http://bbs.csdn.net/topics/390373843 看下 求TCP实现P2P打洞源码! vc下,在dll中进行sql server 的查询 文本文件导入access,如何去双引号? 如何在vc的外部依存关系中引用头文件 怎样保护文件及文件夹 WriteFile能不能和并口交互数据? vc++数据库编程中怎样打印 成都某软件工作室寻找合作伙伴(请对游戏/网络/多媒体编程有兴趣的朋友都来看看) 我有一个access数据库文件,一字段为日期类型,我如何将其值显示到我的Edit控件中 ???怎样将字符串转化为16进制 msdn上的一个工具条的例子 急!mfc基于对话框的程序中的C*App::InitInstance 的return false错误
如果不需要,导出生成和销毁类的函数,然后在功能函数里添加一个int参数,在函数里转换成类的指针
如:
int GetMemberCount(int class_ptr)
{
class_a *ptr = (class_a *)class_ptr;
return class_ptr->m_Count//成员变量
}
# ifdef _HMIEXPORT_CLASS_EXT
# define HMIEXPORT __declspec(dllexport)
# else
# define HMIEXPORT __declspec(dllimport)
# endifclass CTestManager;
class HMIEXPORT CTestManagerEx
{
public:
CTestManagerEx(){m_pTestManager = new CTestManager};
~CTestManagerEx();
public:
int GetXXX(){return m_pTestManager->xxx;};//函数实现建议放到cpp中去
void SetXXX(int iParam){m_pTestManager->xxx = iParam;};//函数实现建议放到cpp中去
private:
CTestManager *m_pTestManager;
}导出类CTestManagerEx中只暴露一个CTestManager 指针而已,其它参数都通过Get,Set的方式访问,这样导出的类,就算你dll这个类有改动,只要原有的函数都在,你编译后只需要把dll替换就可以了,别人引用你的dll无需重新编译。
修改一下,这个辅助导出类, 封装了楼主需要的功能,但是最好 类提供get,set,导出类也提供相应的get,set,虽然繁琐一些。
可以提供c接口去封装了这个c++类