我需要在 C++ 托管中实现 C++ 接口:
class MyInterface
{
virtual int Get() const = 0;
};
我如何在 C++ 中使用“const”方法实现这个接口,并能够从 C# 类库中导入实现(以便对其进行单元测试?
在这一点上,我有托管的 PIMPL 实现,它实现了具有相同签名但没有“const”的原始方法(不是接口)。在我的高级实现中,我使用的是“const_cast”。我不喜欢这种方式,甚至效果也不好:
class MyImplementation: public MyInterface
{
public:
/*virtual*/ int Get() const
{
return const_cast<??>(??_impl).call();
}
private:
msclr::gcroot<MyImplementationImpl> _impl;
};