对于老师 5:43 时的代码的不解
cordinate *d = new cordinate[10];
for (int i=0; i<10; i++) {
d[i]->x = 12;
d[i]->print_x();
}
这样会编译错误.
如果将 d[i]->x 和 d[i]->print_x() 改为d[i].x 和 d[i].print_x() 则可得到正确结果.
我自己的理解: new 在堆中开辟了一段内存空间, 其大小为(cordinate类型大小 * 10). 并将其首地址返回给
d 指针. 编译器给出的结果为:左操作数有“class”类型,使用“.”