我创建了这个类,比如 Apple
,它有一个重载的 operator []
。
然后在另一个类上,我做了一个苹果数组,Apple stack[10]
。
然后当我在表达式中使用 stack[2]
时,而不是 stack[2]
是一个对象,编译器的行为就像它将堆栈视为 stack [0]
,然后调用运算符[]
,其参数为2
。
你能建议我调用 stack[2]
而不是那种方式吗?
最佳答案
您可以使用指针来获取数组元素:
*(stack+2)[3]; // lookup element 2 and call its [] operator with 3
关于c++ - 制作对象数组并在 C++ 中使用重载 [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11916717/