Coordinate.h
#include "stdafx.h"
#include <iostream>
using namespace std;
class Coordinate
{
public:
Coordinate();
~Coordinate();
int i_x;
int i_y;
};
Coordinate.cpp
#include "stdafx.h"
#include <iostream>
#include "Coordinate.h"
using namespace std;
Coordinate::Coordinate()
{
cout << "Coordinate::Coordinate()" << endl;
}
Coordinate::~Coordinate()
{
cout << "Coordinate::~Coordinate()" << endl;
}
main.cpp
// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include "Coordinate.h"
int _tmain(int argc, _TCHAR* argv[])
{
Coordinate c[3];
c[0].i_x = 1;
c[0].i_y = 2;
Coordinate *p = new Coordinate[3];
p->i_x = 10;
p[0].i_y = 20;
p++;
p->i_x = 40;
p->i_y = 50;
p++;
p->i_x = 60;
p[0].i_y = 70;
for (int i = 0; i < 3; i++)
{
cout << "c[" << i << "].x = " << c[i].i_x << endl;
cout << "c[" << i << "].y = " << c[i].i_y << endl;
}
for (int j = 0; j < 3; j++)
{
cout << "p[" << j << "].x = " << p->i_x << endl;
cout << "p[" << j << "].y = " << p->i_y << endl;
p--;//前边经过了两次的p++,现在p指向p+2的位置,所以要从后往前遍历
}
p++;//没有p++将会出现错误,因为执行了for循环,p指针指向的垃圾值,要将p重新指向p[0]的位置
delete []p;
p = NULL;
system("pause");
return 0;
}