c++ 的學習 建構函式1

mhh發表於2021-10-04

1.◼ 建構函式(也叫構造器),在物件建立的時候自動呼叫,一般用於完成物件的初始化工作

2.一旦自定義了建構函式,必須用其中一個自定義的建構函式來初始化物件

就是有多個的話    根據引數編譯器自行選擇

Person(int a){}         Person(int a ,int b){}        還有壓根沒有定義的建構函式(初始化函式)對應的呼叫main呼叫::

Person a(5)                       Person  a(10 ,5)      Person a

補充一點 Person (){m_age=0}

之後的定義是 Person person;

 雖然有() 但是沒有引數所以就

 

 至於 定義的引數 都是最後在函式體內部給了 類裡面定義的成員變數了

給了才算是初始值   才利用了引數不然要引數有什麼用

 3.建構函式

函式名與類同名,無返回值(void都不能寫),可以有引數,可以過載,可以有多個建構函式

4.new        可以呼叫建構函式,  對於new malloc 的堆空間還需要初始化?不是在定義的時候已經初始化了嗎?

5.但是把物件定義到全域性 或者棧空間(new 可以malloc 不可以)         程式碼區   

6.建構函式 是以類名     Person(){}

在呼叫的時候不需要寫它的呼叫函式  只需要類名+物件名即可· 如果有多個建構函式

類名+物件名(10,20)加上引數就好

7.建構函式以及定義的函式在類裡面:

 8.剛才在想用new與malloc 創造堆空間,為什麼要用 int*p=new  int 

指標指向呢

Person     *p= new  Person;/           (這裡型別是Person  物件)

申請Person  這麼大的空間;

9.作用不一定是初始化 

10.

 

 11.明確賦值 就是初始化

在類裡面賦值 不僅僅是賦值,,換還有就是初始化 

 12.

 

 13

 

 

 14.

 

 

 多個建構函式

15.

 

 16.

 

 17.

 

 18.

 

 19.

 

 20.

 

 把viod也放在裡面了

21.

 

相關文章