【发布时间】:2011-05-29 16:33:02
【问题描述】:
是否可以继承两个具有相同名称的基类,如果它们位于不同的命名空间中?
顺便说一句,我目前不打算这样做,但我很好奇:
class SuperShape : Physics::Shape, Graphics::Shape
{
// constructor
SuperShape( int x, int y, float color) : ???( x, y ), ???( color );
}
【问题讨论】:
-
顺便说一句,您忘记在继承中提及“公共”“受保护”或“私有”。
-
@soulSurfer2010:没有必要指明
public、protected或private。在这种情况下,它默认为private,因为它是class。对于struct,它默认为public。就个人而言,我总是明确声明访问修饰符,但 OP 的代码在指示基类方面是有效的 C++。 -
回复:“如果两个基类位于不同的命名空间中,是否可以继承两个具有相同名称的基类?”答案是肯定的,因为他们确实有不同的名字
-
@JohnDibling 是的,这在下面@GregHewgill 的回答中有解释。
-
事实上所有的答案,但格雷格的措辞最清楚
标签: c++ inheritance namespaces constructor multiple-inheritance