【问题标题】:The Object java class equivalent C++ [duplicate]Object java类等效C ++ [重复]
【发布时间】:2017-04-04 06:47:02
【问题描述】:

我知道在 Java 中每个类都扩展了 Object 类,而 Object 类又扩展了 Class 类。但是这在 C++ 中是如何工作的呢?在Java中是否有任何类等价于Object类或Class类?

谢谢。

【问题讨论】:

  • Object 不扩展 Class。事实上,Class 扩展了 Object
  • C++中没有公共根类
  • 没有一个。 C++ 不是 Java。
  • 为什么人们这么反对这个?
  • 在 C++ 中最接近的方法是将 void* 存储为指向对象的指针。它对很多事情都很有用,但通常你需要一堆元数据才能稍后重新投射。 (就像 Python 一样)

标签: java c++ class


【解决方案1】:

java.lang.Objectjava.lang.Class 在 C++ 中没有等效项。不同的类层次结构不共享一个共同的根。

另外,Object 不扩展 ClassObject 没有超类; Object 不是 Class 的类型。但是,Class 确实扩展了 ObjectClass 的一个实例,它代表一个类,它本身就是一个Object

【讨论】:

  • 是不是类似于java中的public class Class extends Object{}?
  • 是的。见the docs
猜你喜欢
  • 1970-01-01
  • 2012-05-14
  • 2012-10-06
  • 1970-01-01
  • 1970-01-01
  • 2014-09-21
  • 2012-12-13
  • 2011-03-18
  • 1970-01-01
相关资源
最近更新 更多