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 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 有没有帮写代码做实验仿真的
- ¥15 報錯:Person is not mapped,如何解決?
- ¥30 vmware exsi重置后登不上
- ¥15 易盾点选的cb参数怎么解啊
- ¥15 MATLAB运行显示错误,如何解决?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题