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...