[C++之旅] 14 物件成員與物件陣列
[C++之旅] 14 物件成員與物件陣列
物件陣列
使用方式
-
從棧中例項化物件陣列
類名 物件名[物件個數]; 物件名[需訪問的第幾個物件 - 1].成員/成員函式...
物件陣列中有n個物件則例項化時呼叫n次建構函式
-
從堆中例項化物件陣列
類名 *物件名 = new 類名[物件個數]; 物件名[需訪問的第幾個物件 - 1].成員/成員函式... 物件名->物件成員/成員函式... delete []物件名; 物件名 = NULL;
物件陣列中有n個物件則例項化時呼叫n次建構函式,delete時呼叫n次解構函式,採用指標的方式訪問成員時,即
類名 p = new 類名[n]
,p->成員和p[0].成員,表示物件陣列中第一個物件的成員,(p+1)->成員,表示物件陣列中第二個物件的成員,以此類推,但如果執行了p+=1(此時p已經改變,而p+1則不改變p的值);則p[0]指向的是物件陣列的第二元素。物件成員
即物件中包含有其他的物件
class Coordinate { public: Coordinate(int x, int y): m_x(x), m_y(y){} private: int m_x; int m_y; };
Coordinate表示點的類,其中包含點的xy座標
class Line { public: Line(int x1, int y1, int x2, int y2): m_coorA(x1, y1), m_coorB(x2, y2){} private: Coordinate m_coorA; Coordinate m_coorB; };
Line表示線的類,包含兩個點的類,即包含AB兩個座標點
int main(void) { Line *p = new Line(1, 2, 4, 5); delete p; p = NUll; return 0; }
例項化物件時,先例項化m_coorA這個物件再例項化m_coorB這個物件,再例項化p這個物件。銷燬時,先銷燬p再銷燬m_coorB再銷燬m_coorA。
相關文章
- C++中的成員物件C++物件
- 14、Scanner、Random、ArrayList、匿名物件、物件陣列random物件陣列
- Javascript之旅——第二站:物件和陣列JavaScript物件陣列
- PHP 物件轉換成陣列PHP物件陣列
- 將json格式物件轉換成陣列物件JSON物件陣列
- Javascript 物件 – 陣列物件JavaScript物件陣列
- js,javascript陣列物件的父級物件 – 子集物件(陣列物件相減)JSJavaScript陣列物件
- C++ 中的 const 物件與 const 成員函式C++物件函式
- js把陣列裡面的所有物件合併成一個物件JS陣列物件
- C++學習筆記(三):類與物件--靜態成員變數與常成員函式C++筆記物件變數函式
- 物件陣列排序物件陣列排序
- numpy 陣列物件陣列物件
- 物件陣列與一般陣列的區別物件陣列
- JavaScript 物件與陣列參考大全JavaScript物件陣列
- [C++之旅] 7 C++類和物件C++物件
- C++物件導向程式設計(一):基於物件(無成員指標)C++物件程式設計指標
- 陣列物件去重陣列物件
- 陣列常用物件方法陣列物件
- 遍歷陣列物件陣列物件
- JavaScript 深入之類陣列物件與 argumentsJavaScript陣列物件
- JS-陣列、函式、類與物件JS陣列函式物件
- js陣列解構 與 物件解構JS陣列物件
- 物件導向類成員物件
- C++派生類物件訪問基類的protected成員C++物件
- js 去掉陣列物件中的重複物件JS陣列物件
- 陣列物件按物件某個屬性排序陣列物件排序
- JS中的Math物件,陣列,和Date物件JS物件陣列
- 實體類定義陣列物件,和物件陣列物件
- javascript快速入門5--陣列與物件JavaScript陣列物件
- vue js 物件轉陣列VueJS物件陣列
- 內建物件--Array(陣列)物件陣列
- js物件陣列去重JS物件陣列
- js陣列物件去重JS陣列物件
- JNI/NDK開發指南(5):訪問陣列(基本型別陣列與物件陣列)陣列型別物件
- $.each()方法遍歷陣列和物件簡單物件陣列物件
- PHP的SPL擴充套件庫(二)物件陣列與陣列迭代器PHP套件物件陣列
- jQuery將類陣列物件轉換為陣列jQuery陣列物件
- 陣列的reduce操作+物件陣列的map操作陣列物件