正常情況下物件一經宣告就為物件的成員分配儲存空間,並呼叫其建構函式進行初始化,物件生存期結束後自動呼叫析構函式,並釋放物件占用的空間。缺點:造成記憶體緊張
解決途徑:先宣告這些物件,在需要這些物件時才分配儲存空間和呼叫建構函式,使用完之後可以立即呼叫析構函式釋放其記憶體空間。這一途徑使用c++語言指向物件的指標。
先定義乙個類
class prince
int getx()
private:
int x;
}
svo::framehandlermono* vo_
記憶體分配:僅僅為這個指標分配了存放指標值的儲存空間,並沒有分配framehandlermono物件的記憶體空間。
framehandlermono p;
vo_ = &p;
這時,物件指標vo_指向物件p,可以使用運算子「->」訪問這個物件的共有資料成員或成員函式,如:
vo_ -> getx();
svo::framehandlermono* vo_//宣告乙個物件指標
vo_ = new svo::framehandlermono(cam_);//動態建立物件
delete vo_;//析構刪除指標
指向物件的指標
定義指標 類名 指標變數 例如 myclass p 使指標有指向 指標變數 物件名 通過指標變數完成對指向物件的成員操作 my.x p x 指標變數 資料成員 指標變數 方法名 實參 通過指標變數表示物件 指標變數 includeusing namespace std class myclass m...
物件陣列 物件指標 指向物件的指標
1.物件陣列的每乙個元素都是同類的物件 class student private int score int main 三個實參分別傳給陣列的三個建構函式 return 0 2.當資料成員中含有預設引數時 student int 100,int 80,int 90 含有預設引數時 student ...
物件陣列和指向物件的指標 指向類成員的指標
1 物件陣列 物件陣列是指數組元素為物件的陣列。這種物件陣列與其它資料 型別的陣列定義方式相同。如 x a 10 它建立了乙個物件陣列a,有10個陣列元素,每個陣列元素a i 都是乙個物件,所以,需要10次呼叫建構函式。c 語言不允許初始化物件陣列,所以要建立乙個類的物件陣列,這個類必須具備以下三個...