Visual C++ .NET中的多重继承

ser*_*0ne 4 .net c++ multiple-inheritance

在C++中允许多次继承类,但是.NET不允许这样做,那么类的多重继承如何在Visual C++ .NET中工作?

编辑:

好的,根据评论,似乎这个问题有点不清楚.我知道.NET是一个框架,而不是一种语言,我也理解.NET符合CLR/CLS.

我的观点是,如果C++允许MI,当我使用Visual C++ .NET编写应用程序时,我是否仍然可以使用MI或.NET是否会阻止这种情况以保持CLR/CLS合规性?

如果我可以在VC++ .NET中使用MI ...

  1. 为什么在VC++ .NET中可能而不是C#.NET/VB.NET?
  2. 与传统的C++相比,这有什么限制吗?
  3. 这对VC++中.NET的使用有何影响?

Jan*_*dec 7

C++/CLI是一个完整的C++,具有一些用于轻松定义和操作CLI对象的额外功能.它的目的是允许使用C++库并使其可用于C#或其他CLI语言(类似于JNI,但集成在编译器中以使其更易于使用).为实现此目的,它有两种定义类的方法:

  • 如果使用just定义一个类class,它将创建一个完全没有该/CLI选项的C++类.它可以有多个继承,但字节码编译的代码(C#,VB.NET,JavaScript等)不可见.
  • 如果要定义一个类CLI并使用它从C#,比你用声明它ref class和它不会允许多重继承.

它完全是因为对象模型不兼容,所以不能直接使用C++类.