【发布时间】:2021-09-02 19:40:04
【问题描述】:
我有一个名为 Customer 和 Car 的课程。 Customer 存储名称和余额,Car 存储汽车的名称及其价格。我已经将文本文件中的信息分别读取到对象数组客户和汽车中,因此这些对象数组中存储了一些客户和汽车。现在我想用指针用 cout 打印出这些值。所以我做了类似的事情
Customer (*firstcustomer)[10] = &customers;
Car (*firstcar)[6] = &cars;
for (int i = 0; i < 10; i++)
{ cout << *(firstcustomer+i*2) << " " << *(firstcustomer+i*2+1) << endl;}
汽车也是如此。但是,当我编译它时,它会打印出值的地址,而不是实际值!我用 * 取消引用它。那么有人可以向我解释为什么会这样吗?谢谢。
【问题讨论】:
-
您的取消引用语法不正确,应该是
(*firstcustomer)[i*2]等,尽管您的循环到 10 将超出数组的末尾
标签: c++ arrays class object pointers