C 類和物件

2021-07-26 17:42:13 字數 2513 閱讀 7450

1.類的宣告

類是一種使用者自定義型別,宣告形式如下:

class 類名稱 ;

2.公有、私有、保護成員

公有成員(public)

公有成員是在public關鍵字的後面宣告,它們是類與外部的介面,任何外部函式都可以訪問公有型別資料和函式

私有成員(private)

私有成員在關鍵字private後面宣告,只允許本類中的函式訪問,而類外部的任何函式都不能訪問

保護成員(protected)

保護成員在關鍵字protected後面宣告,與

private

類似,其差別表現在在繼承與派生時對派生類的影響不同

3.成員函式

成員函式即方法,既可以在類內進行實現,也可以在類外實現

如果在類內實現的話,編譯器會預設將其的型別設定為inline型別即內聯函式

下面用乙個例子來理解一下:

首先寫乙個student.h的檔案,在裡面對類進行宣告。可以看到現在我是將

a_這個變數定義在

public

下,所以是可以被公共訪問的,而b_和

c_這兩個變數是定義在

private

下的,所以只能在類內進行訪問

接下來,寫乙個student.cpp來對兩個成員函式(方法)進行實現,這種方法即為在類外實現,功能分別為對

a_ b_ c_

三個變數進行賦值以及列印結果

最後,來進行main函式的編寫,首先定義了

student

的乙個物件,呼叫初始化變數的函式,分別初始化為

1,2,3

,接著訪問

a_變數,如果最後輸出的結果為

4,2,3

,說明成功的訪問了

a_變數,證明

public

中的變數是可以在類外訪問的

我們來看一下結果:

最後的結果是4,2,3,說明

a_能夠在類外訪問,成員函式也都成功執行了

4.class vs struct

class資料成員預設是私有的

struct資料成員預設是共有的,在

c++中對

struct

也有所公升級,不僅定義方法改變了,也可以跟類一樣在其中定義方法(成員函式)

下面我們來驗證一下:

5.this指標的作用

在了解this指標的作用前,我們先來看一下下面程式中的

class

和struct

的大小分別為多少

我們對上面的**進行些許修改

我們可以看到不管是class還是

struct

的大小都是

8,說明

class

和struct

的大小只與成員有關,而與成員函式(方法)無關。

這是因為class的空間中只儲存了成員,而成員函式是儲存在共享空間的,即所有的類都可以進行訪問,那麼計算機是怎麼知道到底是哪乙個類呼叫了這個函式呢,這時候就需要用到

this

指標了。

this指標儲存的是呼叫這個方法的物件的位址,在物件呼叫方法的的時候會自動被傳參給方法。

C 類和物件 類和物件

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

C 物件和類

1,特殊的類 字串string include include using namespace std int main 類似於標準庫函式,我們不需要記住每種 類 的全部操作,只需要在使用過程中記住一些常用的操作就可以了。如果有需要的話,可以求助於相關書籍或網路 2,當我們對string進行種種操作...

C (類和物件)

類成員函式 類的成員函式指標那些把定義和原型寫在類定義內部的函式,就想類定義中的其他變數一樣。類訪問修飾符 類成員可以定義為public,private或protected。預設情況下是定義為private。建構函式 類的建構函式是一種特殊的函式,在建立乙個新物件是呼叫。析構函式 類的析構函式也是一...