1. 程式人生 > >c++分文件定義,數組元素遍歷

c++分文件定義,數組元素遍歷

堆實例化對象 棧實例化對象 遍歷

1、demo.cpp如下:

//遍歷數組中的元素,所謂遍歷就是 打印數組中的元素,yiban
#include<iostream>
#include<stdlib.h>
#include"Coordinate.h"
using namespace  std;
int main(void){
Coordinate coor[3];//定義一個坐標,棧的方式訪問
coor[0].m_iX=3;
coor[0].m_iY=5;
Coordinate *p=new Coordinate[3];//以堆的方式實例化對象
p->m_iX=7;//以指針訪問數組元素第一個
p[0].m_iY=9;//以索引的形式
p++;//指向了第二個元素p=p+1;
p->m_iX=11;//第二個元素了
p[0].m_iY=13;
p[1].m_iX=15;//訪問第三個元素了
p++;//p指向了第三個元素
p->m_iY=17;
for(int i=0;i<3;i++)//遍歷第一個數組
{
cout<<"coor_x"<<coor[i].m_iX<<endl;
cout<<"coor_y"<<coor[i].m_iY<<endl;
}
for(int j=0;j<3;j++)
{
cout<<p->m_iX<<endl;
cout<<p->m_iY<<endl;
p--;//第一次循環的時候指向的是第三個元素,因為之前的p已經指向了第三個元素,所以P——讓她指回
}
p++;
delete []p;//之所以加上[].是因為該數組的所有對象都應該進行銷,否則就只執行一次析構函數,那麽久會發生內存泄露,。由下圖的運行結果可以看出,執行了三次析構函數。
p=NULL;
system("pause");
return 0;
}
2、Coordinate.cpp如下:
#include<iostream>
#include"Coordinate.h"
using namespace std;
Coordinate::Coordinate()
{
	cout<<"Coordinate"<<endl;

}
Coordinate::~Coordinate()
{

	cout<<"~Coordinate"<<endl;

}

3、

Coordinate.h如:
#include<iostream>
using namespace std;
class Coordinate 
{
public:
Coordinate();
~Coordinate();
public:
int m_iX;
int m_iY;
};

運行結果如下:

技術分享

2、

技術分享



c++分文件定義,數組元素遍歷