C 的類和物件

2021-08-19 01:28:50 字數 1440 閱讀 8224

結構體:是c語言的一種自定義的資料型別,它把相關聯的元素組成乙個單獨的統一體。

缺點:一旦建立了乙個結構體變數,就可以在結構體外直接訪問資料(不同使用者對資料訪問的許可權不同)

無法對資料進行保護和許可權控制,安全性不高。

即c++引入了類,它能克服c結構體的這些缺點。

類宣告的內容包括資料和函式,分別稱為資料成員和成員函式 。

按許可權劃分為,資料成員和成員函式又分為公有,保護和私有。

類宣告的一般格式如下:

class 類名;
由關鍵字class打頭,後跟類名,花括號中是類體,最後以乙個「;」結束。

1.private:類的私有部分,只能由本類的成員函式訪問。

2.public:類的公有部分,可以由程式中的函式訪問,它對外是開放的。

3.protected:類的保護部分,可以由本類的成員函式訪問,也可以由本類的派生類的成員函式訪問,而類外的任何訪問都是非法的,即它是半隱蔽的。

(1)對乙個具體的類,類宣告格式中的三個部分至少有乙個。

類的資料成員應宣告為私有成員,成員函式宣告為公有成員。
(2)訪問限定符的三個部分可以任意順序出現任意次。

(3)若私有部分出現在類體的第一部分,關鍵字private可以忽略。

class定義的類如果乙個類體沒有乙個訪問許可權關鍵字,則其資料成員和成員函式都預設為私有的。

struct定義的類沒有訪問限定符的情況下,預設public公有的。

(4)不能在類宣告中給從資料成員賦值,例如:

class abc
c++中規定,只有在類的物件定義之後才能給資料成員賦值。

(5)分析類型別位元組大小時,class和struct結構位元組大小計算方法一樣,都存在位元組對齊問題。

不同:c語言中的空struct,大小是0。c++中空class,大小是1。
(6)普通成員變數和成員方法一定要依賴物件才能呼叫。

1.將成員函式以普通成員函式的形式進行定義。(即非內聯的成員函式)

返回值型別 類名::成員函式名(參數列)

(1)在類外定義成員函式時,要加類的作用域,即(類名::函式名)

(2)在類的宣告中,成員函式原型的參數列可以不說明引數的名字,只說明它的型別。

但在類外定義成員函式時,不但要說明引數型別,還要指明引數。
(3)在類宣告中只給成員函式的原型,類外定義函式,減少類體的長度,是類宣告簡潔便於閱讀,並且有助於把類的介面和類的實現細節相分離,隱藏執行細節。

2.將成員函式以內聯函式的形式進行定義。

(1)隱式宣告:將成員函式直接定義在類的內部。

(2)顯式宣告:在類宣告中只給出成員函式的原型,把定義放在類外。

C 類和物件 類和物件

c 中物件的型別稱為類,類代表了某一批物件的共性和特徵,類是物件的抽象,而物件是類的具體例項,類是抽象的,不占用記憶體,而物件是具體的,占用 儲存空間,這點很重要,讀者需要牢記。類是使用者自己指定的型別,如果程式中要用到類型別,必須自己根據需要進行宣告,或者使用別人已設計好的類,c 標準本身並不提供...

C 的物件和類

runoob.com上c 的物件和類 概念 描述類成員函式 類的成員函式是指那些把定義和原型寫在類定義內部的函式,就像類定義中的其他變數一樣。類訪問修飾符 類成員可以被定義為 public private 或 protected。預設情況下是定義為 private。建構函式 析構函式 類的建構函式是...

C 的類和物件

1 include 預處理命令 2using namespace std 34 class student 號 可有可無 1718 void display 定義公用函式display 19 號 可有可無 25 類的宣告結束 號不能缺 2627 student stud1 stud2 定義stud1...