看“ Pointers to classes”下的示例(非常底部)
我们如何在此处使用点运算符:
CRectangle * d = new CRectangle[2];
...
d[1].set_values (7,8);
如果d是一个指针?
线路的相同问题:
cout << "d[0] area: " << d[0].area() << endl;
cout << "d[1] area: " << d[1].area() << endl;
另外,对于声明:
CRectangle * d = new CRectangle[2];
我们可以声明一个指向该类型的指针而无需先声明一个对象吗?
最佳答案
d是指向CRectangle对象数组的指针(在这种情况下为2)。 d [i]是第i个CRectangle对象。因此,当您说d [i] .set_values()时,您实际上是在该数组中第i个CRectangle对象上调用set_values方法。