bool指標 如何賦值 C 物件陣列與物件指標

2021-10-13 18:40:16 字數 2358 閱讀 2516

所謂物件陣列是指每一陣列元素都是物件的陣列, 也就是說,若乙個類有若干個物件,則把這一系列的物件用乙個陣列來存放。

物件陣列的元素是物件, 不僅具有資料成員,而且還有函式成員

定義乙個一維陣列的格式如下:

類名 陣列名[下標表示式];

exam ob[4]; //定義了類exam的物件陣列ob.
與基本資料型別的陣列一樣,在使用物件陣列時也只能訪問單個陣列元素,也就是乙個物件,通過這個物件,也可以訪問到它的公有成員使用的一般形式是:

陣列名[下標].成員名

例3.4 物件陣列的應用

#include

class exam

int get_x()

private:

int x;

};main()

exam(int n)

int get_x()

private:

int x;

};main()

;exam ob2[4]=;

exam ob3[4]=;

exam ob4[4]=;

ob4[2]=exam(77);

ob4[3]=exam(88);

int i;

for (i=0;i<4;i++)

cout【例3.6】 本例說明當建構函式具有乙個以上的引數時,如何對二維陣列物件進行初始化

#include 

class example

~example()

int get_x()

int get_y()

private:

int x, y;

};main()

;int i;

for (i=0;i<3;i++)

cout<

}

每乙個物件在初始化後都會在記憶體中占有一定的空間。因此,即可以通過物件名訪問乙個物件,也可以通過物件位址來訪問乙個物件。

(1)用指標訪問單個物件成員

p->setdate(2007,10,18);

例3.7 物件指標的使用
#include

class exe

void show_a()

(2)用物件指標訪問物件陣列物件指標不僅能訪問單個物件,也能訪問物件陣列.

exe *p; //宣告物件指標p

exe ob[2]; //宣告物件陣列ob[2]

p=ob; //將物件陣列的首位址賦給物件指標

main()

結果:

10 20
一般而言,當指標加1或減1時,它總是指向其基本型別中相鄰的乙個元素,物件指標也是如此. 本例中指標物件p加1時,指向下乙個陣列物件元素.

【例3.8】 本例說明如何通過物件指標來訪問物件陣列,使程式以相反的順序顯示物件陣列的內容

#include 

class example

int get_x()

int get_y()

private:

int x,y;

};main()

;int i;

example *p;

p=&op[3]; // 取出最後乙個陣列元素的位址

for (i=0;i<4;i++)

int z;

};void main()

int getx() 

int gety() 

private:

int x,y;

};void main(){

coord op(5,6);

coord *pc1=&op;

int (coord∷*pc_getx)();

pc_getx=coord∷getx;

cout●編號472,輸入編號直達本文

●輸入m獲取文章目錄

c語言與c++程式設計

分享c/c++技術文章

C 物件陣列和物件指標

每天的生活從一杯綠茶開始,2月就這麼過去了,時間總是這麼快 1.物件陣列 在實際中,有許多的實體的屬性是共同的額,只有屬性的具體內容不一樣。這個時候我們就需要定義物件陣列,例如 student stud 50 假設已經宣告了student的類。每乙個陣列元素就是乙個student的物件。建立陣列時候...

四 C語言柔性陣列 指標賦值

一 柔性陣列 今天看了公司的 發現乙個很奇怪的問題,後來自己寫了類似 我先把 貼出來吧。include include include typedef struct dev card msg s int main void 好奇怪啊,有木有,結構體中竟然定義了乙個包含0個元素的陣列,當時看到這裡就暈...

C 有指標成員的類如何拷貝 賦值該類物件

當乙個帶有指標成員 b的類a被拷貝或賦值給b時,該指標所指向的記憶體多出乙個指標b.b,這樣,當a 物件析構時,刪除了a.b所指向的記憶體,這時,當b析構時,利用delete 釋放b.b指向的記憶體時發現要釋放的記憶體不存在,會導致錯誤。class publisher class book book...