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.