C 類的建立和物件,成員函式與內聯函式

2021-10-04 16:40:49 字數 2139 閱讀 9246

c++中的類是構建塊,可導致物件導向的程式設計。它是使用者定義的資料型別,擁有自己的資料成員和函式,可以通過類的例項來訪問和使用它們。c++類就像物件的藍圖。

例如:汽車類別,有許多不同品牌的汽車,但它們都有一些共同的屬性,例如4個車輪、速度限制、里程範圍等。因此,這裡汽車是類別,車輪、速度限制和里程範圍是屬性。

1、類是使用者定義的資料型別,具有資料成員和成員函式

2、資料成員是資料變數,成員函式是用於操縱這些變數的函式,這些資料成員和成員函式共同定義了類中物件的屬性和行為

乙個物件是乙個類的例項。當定義乙個類時,不分配記憶體,而是在例項化(即建立物件)時分配記憶體。在c++中,用class定義乙個類,類的主體在大括號內定義,並在末尾以分號結束。

宣告物件:定義類時,僅定義物件的規範;沒有分配記憶體或儲存空間,要使用該類中定義的資料和訪問功能,需要建立物件。

語法

classname objectname;
物件名.類資料名 ( ob.namel )就能訪問資料成員和成員函式

訪問資料成員取決於該資料成員的訪問控制,由c++中的修飾符控制,分別有3個:public,private 和 protected

建立和訪問類例子

#include

using std::cout;

using std::string;

class

geeks};

intmain()

有兩種方法來定義成員函式:

1、類內部定義

2、類外部定義

在類外定義成員函式時,需要使用範圍解析運算子 :: 以及類名和函式名

#include

using std::cout;

class

geeks};

void geeks::

printname()

intmain()

注意:類中定義的函式都預設為內聯函式。類外的函式,函式返回型別前加上關鍵字 inline, 即可把函式指定為內聯函式。

內聯函式在編譯過程中會像預處理器巨集一樣複製到各處,因此可以減少函式呼叫的開銷。

關鍵字 inline 必須與函式定義放在一起才能使函式成為內聯函式,僅僅將inline 放在函式宣告前面不起任何作用。 inline 是一種 用於實現 的關鍵字,而不是一種 用於宣告 的關鍵字。

建構函式的特殊的類成員,每次例項化該類的物件時,編譯器都會呼叫它們。建構函式與類具有相同的名稱,可以在類的內部或外部定義。

有三種型別的建構函式:

預設建構函式

帶引數的建構函式

複製建構函式

#include

using std::cout;

class

geeks

//帶參建構函式

geeks

(int x)};

intmain()

輸出:ob.id = 10

bb.id = 40

乙個複製建構函式建立乙個新的物件,這是現有物件的精確副本。編譯器為所有類提供預設的建構函式。

語法:

class

-name (

class

-name &

)

析構函式是物件的作用域結束時由編譯器呼叫的另乙個特殊成員函式

#include

using std::cout;

class

geeks};

intmain()

return0;

}

上面**會呼叫6次析構函式

類的建立和物件的建立

class student student 為類的名稱 類名 由乙個或多個單詞組成,每個單詞的首字母大寫,其餘小寫。native pace 唐山 直接寫在類裡的變數,稱為類屬性 def init self,name,age self.name name self.name 稱為實體屬性,進行了乙個賦...

c 物件導向 之 內聯函式 this 靜態成員

如果乙個函式是內聯的,那麼在編譯時,編譯器會把該函式的 副本放置在每個呼叫該函式的地方。用inline指定,內聯函式通常短小精悍沒有while和for迴圈,能夠幫助提公升程式執行的速度 include using namespace std inline int max int x,int y 程式...

C 類成員函式返回類的物件

1.類成員函式臨時物件 2.類成員函式返回持久物件 3.類成員函式返回指標 類成員函式返回類的物件 include include using namespace std class a str1 無參構造str1 str2 無參構造str2 cout 無參構造呼叫 void setarr a in...