1、我原来用C++6.0编写了含有类的动态链接库,现在想在C#2010环境下使用,需要C#继承C++中的类,不知怎么实现。
2、原来的类库中有这样的现象:C类从A类、B类双重继承,而C#不允许多重继承,那么,C#中的D类能否继承C++的C类?
3、C++中自己编写的类是从根类创建的(即没有继承C++的类库),也没有建立namespace,需要对C++编写的类进行修改(如增加namespace)吗?
C#能否及如何继承C++中的类
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
关注 引自强大而免费的微信小程序:皆我百晓生。
在C#中继承C++中的类是可能的,但是需要进行一些处理。
1、第一步是在C#中导入C++类的头文件(.h)并将其编译为一个C++/CLI的封装器。可以使用Visual Studio的C++/CLI项目来完成这个任务。在C++/CLI项目中,可以使用
#include
来导入C++的头文件,并且可以使用ref class
来定义一个包装器类,该类可以继承自C++类。2、在C#项目中引用C++/CLI项目,然后可以直接使用C#继承C++类的封装器。
3、关于C++中的多重继承,C#不支持直接的多重继承,但可以通过C++/CLI中的多重继承来实现。在C++/CLI中,可以定义一个派生类,该类同时继承自两个或多个C++类,然后将此派生类封装为C#类。
4、对于自己编写的类,没有继承其他C++类库的情况下,没有必要修改类的定义。只有在C++类中引用了其他的命名空间或类库时,可能需要在C++类中添加命名空间或类库的引用。
总之,要在C#中继承C++中的类,需要使用C++/CLI来封装C++类,并在C#中引用封装器类。同时,对于多重继承的情况,可以使用C++/CLI来实现。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置