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.