class的簡單使用

2021-08-20 10:39:40 字數 1993 閱讀 1632

1.在c++中,用「類」來描述「物件」。類是屬於使用者自定義的資料型別,並且該型別的資料具有一定的行為能力。通常來說,乙個類的定義包含兩部分的內容,乙個是該類的屬性,另乙個部分是它所擁有的方法。

2.c++中使用關鍵字class來定義類。類是建立物件的模板,乙個類可以建立多個物件,每個物件都是類型別的乙個變數;建立物件的過程也叫類的例項化。每個物件都是類的乙個具體例項(instance),擁有類的成員變數和成員函式。

3.與結構體一樣,類只是一種複雜資料型別的宣告,不占用記憶體空間。而物件是類這種資料型別的乙個變數,占用記憶體空間。

4.類的成員函式和普通變數一樣,也有資料型別和名稱,占用固定長度的記憶體空間。但是,在定義類的時候不能對成員變數賦值,因為類只是一種資料型別,本身不占用記憶體空間,而變數的值則需要記憶體來儲存。

5.類的成員函式也和普通函式一樣,都有返回值和引數列表,它與一般函式的區別是:成員函式是乙個類的成員,出現在類的成分中,它的作用範圍由類來決定。在類體中和類體外定義成員函式是有區別的:在類體中定義的成員函式為內聯(inline)函式,inline關鍵字可加不可加;再類體外定義的不是,即使加了inline,有時也不一定會巨集展開。使用乙個內聯函式,編譯器試圖用函式體中的**替換呼叫函式的地方的函式名,從而達到消除函式呼叫時的時間開銷的目的。

6.類的資料成員和函式成員都可以被宣告為靜態的。

7.成員函式有乙個隱含的附加形參,及指向該物件的指標,這個隱含的形參叫this指標。使用this指標保證了每個物件可以擁有不同數值的資料成員。每個物件都有乙個特殊的指標,它指向物件本身。

8.c++通過pubilc.private.protected三個關鍵字來控制成員變數和成員函式的訪問許可權,它們分別表示公有的.私有的.受保護的,被稱為成員訪問限定符:

(1)在類內部,無論成員變數或成員函式被宣告為public.private.protected,都是可以互相訪問的,無訪問許可權限制;

(2)在類外部,類建立的物件無法訪問private.protected屬性的成員變數和成員函式,而僅可以訪問public屬性的成員變數和成員函式。

c++中類必須先定義,才能夠實現例項化。前向宣告的類不能例項,但可以定義指標或引用。

8.類也可以定義在函式體類,這樣的類被稱為區域性類。區域性類只在定義它的 區域性域內可見。區域性類的成員函式必須被定義在類體中。區域性類不能有靜態成員。

9.乙個類的建構函式是乙個特殊的函式,在建立乙個類的新物件時呼叫它。它可以通過宣告乙個於class同名的函式來定義。當且僅當要生成乙個 class的新的例項(instance)的時候也就是當且僅當宣告乙個新的物件,或給該class的乙個物件分配記憶體的時候,這個建構函式將被自動呼叫。建構函式的永遠沒有返回值,也不用宣告void。建構函式可以被多次過載,但有不同的引數型別和個數。當沒有明確定義建構函式的時候,編譯器會自動假設兩個過載的建構函式(預設建構函式(default constructor)和複製建構函式(copy constructor))。這兩個預設建構函式只有在沒有其他建構函式被明確定義的情況下才存在。如果任何其它有任意引數的建構函式被定義了,這兩個建構函式就都不存在了。在這種情況下,如果你想要有default constructor和copy constructor,就必須自己定義它們。

10.析構函式也是乙個特殊的函式,當建立物件被刪除時呼叫它。它在物件被從記憶體中釋放的時候被自動呼叫。析構函式必須與class同名,加「~」字首,必須無返回值。析構函式特別適用於當乙個物件被動態分配記憶體空間,而在物件被銷毀的時候我們希望釋放它所占用的空間的時候。

11.拷貝函式是乙個建構函式。它建立乙個物件並用之前已經建立好的乙個同類的物件對其進行初始化。

12.乙個友元(friend)函式允許完全訪問類的私有成員和保護成員。

13.在c++中,class與struct的區別:

(1)預設的繼承訪問許可權:struct 是public的,class是private;

(2)成員的預設訪問許可權:struct預設是public許可權,class預設是private許可權;

(3)「class」關鍵字還用於定義模板引數,就像是「typename」,但關鍵字「struct」不能用於定義模板引數。

**

Class類的使用

萬事萬物皆物件。類也是物件,是class類的例項物件,稱為該類的 類型別 通過乙個例子說明3種表示類型別的方法,以及用類型別建立類物件 class foo public class classdemo catch classnotfoundexception e system.out.println...

使用Class物件

class物件的功能 獲取功能 1,獲取成員變數們 1,field getfields 獲取所有public修飾的成員變數 2,field 字段 getfield string name 獲取指定名稱public修飾的成員變數。3,field getdeclaredfields 獲取所有的成員變數,...

Python中class的簡單介紹

類的定義 python class簡單操作 為了學習python中class,我們編寫乙個簡單的程式。我們的任務是找到stduents.txt檔案中,gpa最高的那名同學,並列印出他的資訊 其中students.txt檔案中的內容如下 zhangsan 127 228 lisi 100 400 wa...