<分区>
我不是 C++ 专家,但我不得不考虑这个问题。为什么在 C++ 中可以实现多重继承,而我不能在 C# 中实现? (我知道菱形继承(钻石问题),但这不是我在这里要问的)。 C++如何区分从多个基类继承的相同方法签名的歧义?为什么不能将相同的设计合并到 C# 中?
<分区>
我不是 C++ 专家,但我不得不考虑这个问题。为什么在 C++ 中可以实现多重继承,而我不能在 C# 中实现? (我知道菱形继承(钻石问题),但这不是我在这里要问的)。 C++如何区分从多个基类继承的相同方法签名的歧义?为什么不能将相同的设计合并到 C# 中?
最佳答案
这是一道选择题。 C# 语言设计者 Anders Hejlsberg 选择将多重继承排除在语言之外。你可能想知道为什么......我的猜测是(1)通常不需要多重继承,(2)多重继承经常以错误的方式使用(就像许多面向对象的结构)和(3)它会语言和/或编译器和/或静态检查不必要地复杂。
CLR 本身并不阻止多重继承;因此,它在 C++.NET 中可用。
关于c# - C++ 如何克服菱形问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14582780/