【发布时间】:2013-06-13 03:54:57
【问题描述】:
在一个 C++/CX 项目上工作,它使用了我需要从 C++ 层继承的 C++ 代码,但不断收到此错误:
引用类只能从引用类或接口类继承
有没有办法可以绕过它,从网上查了一下发现不能直接继承,代码是这样的:
C++ 代码
A类
C++/CX
公共参考 B 类:公共 A
这是不可能的,你知道我可以通过不同的设计达到相同的“结果”吗
如果我在 C++/CX 项目中创建一个 C++ 类,我也不允许将其设置为公共
【问题讨论】:
-
为什么需要从C++层继承?根据原因(即您希望如何使用这些类),可能的解决方案会有所不同。所以请给我们更多的见解。
-
别担心设法修复它,只是将它用作私人然后推送我需要的东西
-
这是非常基础的,ref class 是一个 COM 包装器。 COM 不支持实现继承。它如此普遍适用的更大原因之一。您需要退回到封装。您可能最终会得到一大堆小方法,这些方法除了将调用转发到封装的 C++ 类之外什么都不做。
-
这就是我最终做的,感谢您的帮助!仍然希望有另一种方法,即不是过程密集型,如果您想到一种减少封装方法数量的方法,请发表评论:)再次感谢!