C ++ - 所有类都隐式地从Object类继承?

时间:2013-05-07 01:47:10

标签: c++ class

这种说法是否成立:所有C ++类都隐式地从Object类继承?对于python来说似乎是这样。

6 个答案:

答案 0 :(得分:2)

不,绝对不是:与Java或C#(.NET)不同,C ++中的类没有公共根。

注意:这不适用于C ++ / CLI;然而,它是一种不同的语言,其语法松散地基于C ++,因此“真正的”C ++没有“根”对象。

答案 1 :(得分:2)

没有。 Java有一个名为Object的根类。 C ++没有。

C ++类被设计为尽可能轻量级。早期设计C ++背后的哲学是如果你不使用它,你就不必付钱。一个有趣的共同基类需要一些成本,即使对那些不使用它的人也要进行评估。

答案 2 :(得分:2)

不,C ++中没有这样的根类,因为它不是面向对象的强类。

向后兼容“C”。像一些“类对象”这样的根类会使C ++对象的内存模型在“C”世界中不兼容。

另一方面,如果你使用的是用C ++开发的一些框架,它们可能有一个共同的根类。

例如:MFC中的CObject或QT中的QObject。

答案 3 :(得分:0)

不,C ++中没有像Object这样的根类。但在Java中确实如此。

答案 4 :(得分:0)

不存在名为Object的基类。

答案 5 :(得分:0)

关于Java,而不是C ++,这是事实。通用Object类的替代方法是void指针。