1. #include<bits/stdc++.h>
    2. using namespace std;
    3. /**
    4. * 对象数组和对象指针
    5. * */
    6. class Point {
    7. int x, y;
    8. public:
    9. Point() {
    10. x = 1;
    11. y = 1;
    12. }
    13. Point(int a, int b = 10) {
    14. x = a;
    15. y = b;
    16. }
    17. int getX() {
    18. return x;
    19. }
    20. int getY() {
    21. return y;
    22. }
    23. };
    24. int main() {
    25. Point p1(3, 3);
    26. Point p[3]; // 由于有无参构造函数,可以定义对象数组
    27. Point *pt;
    28. for(int i = 0; i <= 2; i++) {
    29. // cout<<"p["<<i<<"].x="<<p[i].getX()<<"\t";
    30. // cout<<"p["<<i<<"].y="<<p[i].getY()<<endl;
    31. printf("p[%d].x=%d \t p[%d].y=%d\n", i, p[i].getX(), i, p[i].getY());
    32. }
    33. pt = &p1;
    34. printf("Point pt->x=%d\n", pt->getX());
    35. pt = p;
    36. printf("Point array pt->x=%d\n", pt->getX());
    37. pt++;
    38. printf("Point array pt->x=%d\n", pt->getX());
    39. printf("Point (*pt).x=%d\n", (*pt).getX());
    40. return 0;
    41. }