c++ 的學習 構造函數1

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.

 

Tags: