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 建立物件和C建立物件有什麼不同分別舉例
預設的話,最顯著的差別在於 c 中 new 建立的物件是開發者自己管理,需要自己釋放記憶體c 中 new 建立的物件是虛擬機器管理的,有 gc 負責垃圾記憶體 c classa pa new classa delete pa 手動 記憶體c classa a new classa 虛擬機器管理,不需...
為什麼在C 中vector string物件不能直接輸出,需要自己遍歷,然後逐個輸出
一個原因是標準庫不知道怎樣才是最合適的輸出方式,比如每個元素間要不要用回車分隔,還是用逗號分隔,再說即使不能直接輸出,寫起來也很簡單,如果是c 11的話,寫成 for auto i text cout i 就可以了 真的需要cout text 這種寫法的話,自己過載一個 operator 函式也是很...
c語言變數為什麼要分類,為什麼C語言要分幾種基本資料型別
豐富的變數分類是高階語言的優勢,也是計算機語言進化的標誌。最初的計算機語言是沒有這麼多變數分類的,隨著複雜問題處理要求及大型程式的出現,以及硬體的記憶體管理等等方面,逐漸對變數進行分類,使得在程式設計時變數能夠覆蓋全部型別,能夠處理各種問題時方便了記憶體的管理。舉個例子 全域性變數和區域性變數的作用...