C 為什麼同類要建立多個物件,C 為什麼同一個類要建立多個物件

2021-07-22 01:55:54 字數 1924 閱讀 1567

1樓:

這麼說吧,人類是也是一種類,

每個人都是一個人類的具體表現形式

每個人都有很多共同的屬性,但是也有

每個人的特性,如果上帝只造了一個

人,那他多沒意思,沒有其他人跟他

有社會聯絡,比如不能xxoo神馬的,

所以說呢,你只建立一個物件,就沒

什麼意思咯。

2樓:匿名使用者

你不需要為一個類建立一個物件也能呼叫類的函式,前提是函式定義為public。而你所說的為什麼需要建立多個物件,是因為你需要多個物件,一個物件中的實際其實也是一對資料。也就是說你需要這些資料才去建立這個物件。

而你類中實現的函式是為了操作物件中的資料的。而你需要操作與該類的資料無關時,你就沒有必要將函式寫在其中。

3樓:匿名使用者

這樣就可以批量化啊。當然有意義了。就像一個蘋果類啊,你建立了3個蘋果物件,即便這三個蘋果長得一模一樣,三胞胎,這也是三個不同的物件,明編嗎。

你建立了物件,就說明了它的存在。如果因為三個蘋果正好一模一樣,你就只建立一個物件的話,那麼其它兩個就沒有了。說明那樣屬性的蘋果只有一個。

類表明了一類物件的共同屬性,例如蘋果,就是蘋果樹上長出來的那個,有皮,有肉,有籽,維生素含量百分比,口味,大體外形,基本顏色構成等等,總之是蘋果共同的屬性來定義了個蘋果類。然後具體到物件那就不一樣了是吧,有的個大,有的個小,重量,等等也可能不同。如果其它屬性正好也相同了,那也是不同的物件。

不同的個體。明白。

4樓:匿名使用者

每個物件建立時都會分配一片記憶體,來儲存自己的資料,呼叫成員函式時是同一段**,但是影響的資料是自己的,就想class mode {};

mode a,b;

a呼叫函式後只會影響a的資料,不會影響b的資料,又怎麼會出錯呢?

5樓:傷之儡

這個,就好比一個模具可以造出很多個同樣型別的產品一樣,只是根據你的實際需要來決定你要建立的個數。

6樓:匿名使用者

物件是用來描述類的特徵的,每個類都有很多特徵,所以就有很多類。例如:

class cat

void color(int b)

void name(char *p)

private:

int a,b;

char na[10];

}其中age,color,name是物件它們都是用來描述cat類。

7樓:馬釗

建立多個物件是為了解決稍有差別的問題的!

8樓:匿名使用者

class a

};a a,b; /// 類a是型別, a和b是物件,也就是變數, 有自己的儲存空間

a.set(1); // a.set訪問的是物件a的成員變數a.a

b.set(2); // b.set訪問的是b的 b.a

編譯器在背後又傳遞一個this指標, 哪個物件呼叫就指向哪個物件, 靜態的成員因為所有物件共享,所以沒有this指標

你在成員函式裡訪問成員變數, 比如 a實際就是訪問this->a

以普通函式角度看,相當於set(a *this, int n), set(a,1)和set(b,1)

9樓:匿名使用者

要用到幾個就用幾個,這有什麼問題嗎?

c++中如何一個類批量宣告多個物件

10樓:

陣列定義。。。。。。。。

class stu

;int main(void)

{stu obj[50];//宣告50個變數型別為stu的物件int num=sizeof(obj)/sizeof(stu);

for(int i=0;i

C用迴圈建立多個相同型別的物件

include std vectorarr for int i 5 i 差不多是這樣,但是把vector作為引數或者返回值傳遞的時候可能會因為傳版 遞物件太大變得很慢權,可以改用引用引數或者指標 c 用迴圈建立多個相同型別的物件 5 可以再建一個single pig的類,用來描述單隻小豬的屬性,然後...

c語言的下標為什麼從0開始,C語言的下標為什麼從0開始

其實從0開始是有一定道理的。陣列是一段連續的空間,要求a i 就是求它的地址,然後找到它。如果從0開始,則a i 的地址 首地址 i 每個資料所佔的長度 如果從1開始,則a i 的地址 首地址 i 1 每個資料所佔的長度。是不是前一種更好計算呢。如果是二維陣列就更是這樣了。沒有規定一定要從 0 開始...

c語言程式設計時為什麼要加標頭檔案,C語言程式設計時為什麼要加標頭檔案?

在c語言家族程式中,標頭檔案被大量使用。一般而言,每個c c程式通常由標頭檔案 header files 和定義檔案 definition files 組成。標頭檔案作為一種包含功能函式 資料介面宣告的載體檔案,用於儲存程式的宣告 declaration 而定義檔案用於儲存程式的實現 impleme...