请问如何在已获得某个接口的指针后,创建该指针所指对象的内存拷贝?

sproll 2003-10-23 01:17:28
小弟现在创建了一个ATL对象ClassSample,该对象的C++实现是CClassSample,它的接口是IClassSample,现在我在工程的某处获得了该接口的二级指针IClassSample** ppClassInterface,我现在要创建该指针所指对象的内存拷贝,请问该拷贝应该是什么类型,CClassSample还是IClassSample,如何创建并拷贝数据?(CClassSample类有几个long类型或者其它类型的成员变量)
...全文
62 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sproll 2003-10-24
  • 打赏
  • 举报
回复
5555……小弟只好创建一个结构,把CClassSample中基本数据类型都保存在这里面,然后把这个结构压到vector中,读取CClassSample中的成员变量的时候还要针对每个变量导出一个隐藏的函数来读取它们的值,好麻烦啊……
kof99th 2003-10-23
  • 打赏
  • 举报
回复
添加clone接口函数
superS 2003-10-23
  • 打赏
  • 举报
回复
不能吧,一般组件的客户是不清楚组件的内部实现细节的,就算你目前创建了一份拷贝,但是一旦组件升级以后(内部结构变了)现在的客户不就不能用了吗。

可以通过给IClassSample增加方法来模拟所有需要的功能吧。

客户和组建之间应该仅通过接口打交道。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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