相同的对象,但类型不同



我使用C++应用程序在两个PHP服务器之间同步数据。

我的第一台服务器是本地服务器,我的C++应用程序调用该服务器上的 Web 服务来获取要同步的对象。然后,我的C++应用程序使用另一个 Web 服务将其发送到我的云 PHP 服务器上。

所以我的对象是一个在我的两个 php 服务器上定义完全相同的 soap 对象。

但是,对于我的C++应用程序,这两个对象并不相同(或者至少具有不同的命名空间(,因此 Y 无法编译以下行:

soapErrorCode = cloudWebService.action(myLocalObject);
//C++ is waiting for an object of type myCloudObject, even if these two object have the same attributes

我的 soap 对象和 Web 服务定义是在 gSoap 的帮助下在我的C++中定义的。

我看到了不同的解决方案,但不确定哪个是最好的:

  1. 有没有办法告诉C++myLocalObject和myCloudObject是相同的?注意:我不想手动修改 gsoap 生成的代码(工作量太大!
  2. 有没有办法告诉gsoapmyLocalObject和myCloudObject是相同的?
  3. 我是否有义务创建将myLocalObject转换为myCloudObject的fonction?

谢谢!

在我看来,两种可能的变体是:

  1. myLocalObjectmyCloudObject和从myCloudObjectmyLocalObject的写入转换器功能
  2. 您可以创建用于myLocalObjectmyCloudObject的基类,并完成其指针。

相关内容

  • 没有找到相关文章

最新更新