c 類與物件是什麼意思?

2022-07-07 11:27:13 字數 1815 閱讀 2187

c++ 中的類(class)可以看做c語言中結構體(struct)的公升級版。

結構體是一種構造型別,可以包含若干成員變數,每個成員變數的型別可以不同;可以通過結構體來定義結構體變數,每個變數擁有相同的性質。例如:

#include //定義結構體 student

struct student;

//顯示結構體的成員變數

void display(struct student stu)

int main()

執行結果:

小明的年齡是 15,成績是 92.500000

c++ 中的類也是一種構造型別,但是進行了一些擴充套件,類的成員不但可以是變數,還可以是函式;通過類定義出來的變數也有特定的稱呼,叫做「物件」。例如:

#include //通過class關鍵字類定義類

class student

};int main()

c語言中的 struct 只能包含變數,而 c++ 中的 class 除了可以包含變數,還可以包含函式。display() 是用來處理成員變數的函式,在c語言中,我們將它放在了 struct student 外面,它和成員變數是分離的;而在 c++ 中,我們將它放在了 class student 內部,使它和成員變數聚集在一起,看起來更像乙個整體。

結構體和類都可以看做一種由使用者自己定義的複雜資料型別,在c語言中可以通過結構體名來定義變數,在 c++ 中可以通過類名來定義變數。不同的是,通過結構體定義出來的變數還是叫變數,而通過類定義出來的變數有了新的名稱,叫做物件(object)。在第二段**中,我們先通過 class 關鍵字定義了乙個類 student,然後又通過 student 類建立了乙個物件 stu1。變數和函式都是類的成員,建立物件後就可以通過點號.來使用它們。

可以將模擬喻成圖紙,物件比喻成零件,圖紙說明了零件的引數(成員變數)及其承擔的任務(成員函式);一張圖紙可以生產出多個具有相同性質的零件,不同圖紙可以生產不同型別的零件。

類只是一張圖紙,起到說明的作用,不占用記憶體空間;物件才是具體的零件,要有地方來存放,才會占用記憶體空間。

在 c++ 中,通過類名就可以建立物件,即將圖紙生產成零件,這個過程叫做類的例項化,因此也稱物件是類的乙個例項(instance)。

有些資料也將類的成員變數稱為屬性(property),將類的成員函式稱為方法(method)。

在c語言中,我們會把重複使用或具有某項功能的**封裝成乙個函式,將擁有相關功能的多個函式放在乙個原始檔,再提供乙個對應的標頭檔案,這就是乙個模組。使用模組時,引入對應的標頭檔案就可以。

c語言中專案的組織方式

圖1:c語言中專案的組織方式

c++中專案的組織方式

圖2:c++中專案的組織方式

不要小看類(class)這一層封裝,它有很多特性,極大地方便了中大型程式的開發,它讓 c++ 成為物件導向的語言。

物件導向程式設計在**執行效率上絕對沒有任何優勢,它的主要目的是方便程式設計師組織和管理**,快速梳理程式設計思路,帶來程式設計思想上的革新。

物件導向程式設計是針對開發中大規模的程式而提出來的,目的是提高軟體開發的效率。不要把物件導向和面向過程對立起來,物件導向和面向過程不是矛盾的,而是各有用途、互為補充的。如果你希望開發乙個貪吃蛇遊戲,類和物件或許是多餘的,幾個函式就可以搞定;但如果開發一款大型遊戲,那你絕對離不開物件導向.

jsp內建物件是什麼意思

request常用方法 1.string getparameter string key 獲取客戶端傳來的引數 2.void setattribute string key,object value 通過鍵值對的形式儲存資料 3.object getattribute string key 通過ke...

uma是什麼意思 UMA是什麼意思?

展開全部 uma 不明生物 是636f707962616964757a686964616f31333431376537動畫 進化戰記 betterman 中的一類人造怪物的統稱,是生命工學食料研究所 b.p.l.所長梅崎博士製造出來 協助他利用阿尼瑪斯之花 大量製造蛋白質 具有驚人攻擊性的怪物。阿拉...

是什麼意思?

meta是html中的元標籤,其中包含了對應html的相關資訊,客戶端瀏覽器或伺服器端的程式會根據這些資訊進行處理。http equiv類似於http的頭部協議,它回應給瀏覽器一些有用的資訊,以幫助正確和精確地顯示網頁內容。content 內容型別 重要!這個網頁的格式是文字的,網頁模式 chars...