类和动态内存

时间:2016-10-29 19:45:02

标签: c++ class

我有点困惑,试图了解这里发生的事情:

#include <iostream>

using namespace std;

class Point
{
  int x, y;
public:
  Point(): x(0), y(0) {}
  int getX() {return x;}
  int getY() {return y;}
};

int main(int argc, char const *argv[])
{
  Point *a = new Point[2];
  Point *b = a;

  for (int i = 0; i < 5; i++, a++)
    cout << a->getX() << "," << a->getY() << endl;

  delete[] b;

  return 0;
}

输出:

0,0
0,0
0,0
1041,0
825503793,667692

这只是一个实验,当我练习课程和动态记忆时,我看了这个。 为什么输出看起来像这样,后面发生了什么?

我确定将使用Point构造函数初始化2个Point(),那么为什么第三个0,0也是n+1xm+1? 为什么其他2个有随机数,这些对象分配在哪里?是否只有Point类型的随机内存/未初始化内存?

0 个答案:

没有答案