c++分文件定義,數組元素遍歷
阿新 • • 發佈:2017-09-07
堆實例化對象 棧實例化對象 遍歷
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++分文件定義,數組元素遍歷