[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。
相關文章
- 14、Scanner、Random、ArrayList、匿名物件、物件陣列random物件陣列
- PHP 物件轉換成陣列PHP物件陣列
- Javascript 物件 – 陣列物件JavaScript物件陣列
- C++ 中的 const 物件與 const 成員函式C++物件函式
- js把陣列裡面的所有物件合併成一個物件JS陣列物件
- 物件陣列排序物件陣列排序
- 物件陣列與一般陣列的區別物件陣列
- [C++之旅] 7 C++類和物件C++物件
- C++學習筆記(三):類與物件--靜態成員變數與常成員函式C++筆記物件變數函式
- 陣列物件去重陣列物件
- 陣列常用物件方法陣列物件
- 遍歷陣列物件陣列物件
- JavaScript 深入之類陣列物件與 argumentsJavaScript陣列物件
- js陣列解構 與 物件解構JS陣列物件
- JS-陣列、函式、類與物件JS陣列函式物件
- 陣列物件按物件某個屬性排序陣列物件排序
- 實體類定義陣列物件,和物件陣列物件
- js 去掉陣列物件中的重複物件JS陣列物件
- JavaScript 之 物件/JSON/陣列JavaScript物件JSON陣列
- vue js 物件轉陣列VueJS物件陣列
- js陣列物件去重JS陣列物件
- js物件陣列去重JS物件陣列
- 內建物件--Array(陣列)物件陣列
- 2024-03-29 js練習之陣列物件轉換成鍵值對物件JS陣列物件
- 陣列的reduce操作+物件陣列的map操作陣列物件
- PHP的SPL擴充套件庫(二)物件陣列與陣列迭代器PHP套件物件陣列
- python之成員(物件導向)Python物件
- 物件解構,陣列解構物件陣列
- JS--陣列物件合併JS陣列物件
- JS 複製陣列和物件JS陣列物件
- Javascript中的陣列物件排序JavaScript陣列物件排序
- js:判斷物件或陣列JS物件陣列
- JS 中特殊的物件-陣列JS物件陣列
- 按照陣列順序給物件重新組合成新物件陣列物件
- API 返回多維陣列,子陣列總變成物件,該怎麼處理好呢?API陣列物件
- JS中陣列與物件的遍歷方法例項JS陣列物件
- 深入學習js之——類陣列物件與arguments #11JS陣列物件
- JS 物件與陣列互相巢狀的複雜例子JS物件陣列巢狀