C ++中的Java“public static final Object”

时间:2010-03-06 03:04:52

标签: java c++

以下代码段在C ++中的含义相同。我正在将java应用程序的一部分转换为C ++。

这是java类片段:


class container {
  Public static final Object CONTAINER_FULL = new Object {
     public boolean equals(Object other) {
        // ...
     }
     String toString() {
        // ...
     }
     // ...
  }
  // ...
}

上面的类包含在java接口类“container”中。 电话是......


public Object fetch_the_object(int at_pos) {
     if (at_pos == MAX) {
        return container.CONTAINER_FULL;
     } 
     // ...
}

该静态类及其调用的C ++中最接近的等价物是什么?

2 个答案:

答案 0 :(得分:1)

 class Thing
 {
    public:
      static const OtherThing CONTAINER_FULL;
 };
 const OtherThing Thing::CONTAINER_FULL = blah;

必须在类体外部定义常量,静态,非整数数据类型。如果您希望OtherThing为任何内容,请将其更改为

void *

答案 1 :(得分:0)

这样的事情,也许是:

struct Container {
    struct Full {
        ...
    };
    static const Full full;
};