C#vs C ++:继承细节

C# vs C++: inheritance specifics

什么可以被看作是C和C++的OOP标准定义的可见差异?我对任何与重载/重写方法的可见性相关的内容特别感兴趣。

C类在类链中实现了基于栈调用顺序的C++继承顺序子集;这是真的吗?还是C?OOP是不同于C++的?(当然,C具有本机反射支持,但我更感兴趣的是找到与继承或组合相关的问题)。

是否有一个众所周知的情况,其中C++中的EDOCX1 0?不能访问C中可能的基类数据(在任何可能的条件下)?

我强烈反对承认这个问题是"已经回答"的。"内部"没有什么,抽象类不能被清楚地评估到C++保护的构造函数/虚拟构造函数类(并且整个接口的东西与C++不同)。因此,如果我有机会打开它,请不要关闭赏金-肯定会有更多的差异。


我相信你能找到一整本关于这些东西的书。一个很大的变化是在C中定义类时,只能从一个基类继承。C++可以从多个继承。

Is there a well-known situation, in which class N: .. class B: A { }
in C++ can't access the base class data (under any possible
conditions) that is possible in C#?

如果基类是受保护的或公共的。

The protected keyword is a member access modifier. A protected member
is accessible within its class and by derived class instances. (Source: http://msdn.microsoft.com/en-us/library/bcd5672a.aspx)


c++支持多重继承,而c可能不是最大的区别。