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 初始化列表只出現在建構...