C 學習筆記(建構函式的緣由)

2021-08-17 12:09:28 字數 645 閱讀 9769

c++中提供了類的概念,其目標就是希望能夠像初始化普通變數那樣初試化物件,例如:定義了student類(姓名,學號,數學成績)

#include

#include

using namespace std;

class student

;int main()

現在直接在主函式中定義物件stu1並對其初始化:student stu1("lili",120,105);這是不可以的,因為類中的資料成員是私有的,不能在類外直接訪問其私有資料成員,加入我們把上述類改為結構體:

#include

#include

using namespace std;

struct student

;int main()

可以發現這個時候,我們可以直接對其賦值,因為結構體中的資料是公有的,可以直接訪問。那為什麼不直接把類中的資料成員宣告為公有的呢?因為,如果將類中的資料成員宣告為公有的,就違背了類的乙個初衷-----資料的隱藏。為了完成對於物件的初始化,c++提供了建構函式來實現對於物件的初始化,使得可以像對普通變數那樣初始化的方法對物件初始化。

建構函式的函式名跟類名相同,但是沒有返回值,對於上述類,其建構函式為student( )

當用類名定義物件的時候,就會呼叫建構函式,對物件初始化。

C 學習筆記 建構函式

在建立某個類的物件時,由於對該物件的狀態 資料 不很明確,因此需要對其進行初始化。例如,我們要在長方形中建立乙個物件,或者說新建乙個長方形,那麼我們首先要確定它的長和寬,假如我們無法確定它的長和寬,那麼我們是無法構造出乙個長方形來的。例如,我們要構造乙個長方形,由於建構函式要在建立新物件時使用,因此...

C 學習筆記 類的建構函式

之前我講了一下關於類的成員函式相關的內容c 學習筆記 類的成員函式的宣告與定義 今天學習的類的建構函式是一種特殊的成員函式!建構函式是用於給類的資料成員進行初始化的!類的建構函式定義和宣告的時候需要注意的幾點是 建構函式的名字必須和類的名字一模一樣 建構函式沒有任何返回值 建構函式的內部可以是空的,...

C 學習筆記32 建構函式

1 只要建立類型別的新物件都要執行建構函式 2 建構函式的名字與類的名字相同,並且不能指定返回型別 3 建構函式不能宣告為const,即便是const物件,也是用普通的建構函式來初始化 4 建構函式可以使用初始化列表,一般的函式不行。1 只有類的建構函式才能使用初始化列表 2 初始化列表只出現在建構...