- 構造函數之默認構造函數(調用的構造函數不用傳遞參數)
兩種實例化方式都是默認構造函數
- 構造函數之初始化列表
紅字部分即爲初始化列表:一個引號,多個參數用逗號隔開,賦值用()
初始化列表特性:
- 其先於構造函數執行
- 其只能用於構造函數
- 其可以同時初始化多個數據成員
- 【注意】初始化列表的功用:對於類中的靜態常量,不能用構造函數來初始化,必須使用初始化列表的方式
拷貝構造函數的特點:
- 當用戶沒有定義構造函數時,編譯器會自動生成一個默認的拷貝構造函數(構造函數也是如此)
- 當採用直接初始化或複製初始化實例化對象時,系統會自動調用拷貝構造函數
- 由於拷貝構造函數的特性,拷貝構造函數不能重載!!
- 【總結】構造函數總結:
- 【總結】所有參數帶有默認值時,轉變成了默認構造函數
【注意】初始化列表是所有構造函數都可以實現的.
- 析構函數(用於釋放系統資源的函數)
定義格式:
析構函數特點:
- 如果沒有自定義的析構函數,則系統自動生成
- 析構函數在對象銷燬時自動調用(與之相對應,構造函數在對象實例化時自動調用)
- 析構函數沒有返回值(構造函數也是如此)、沒有參數也不能重載
- 不允許在()內加任何的參數
- 【重要知識點】對象的生命歷程
- 【總結】成員函數的分類
成員函數的參數修飾方式
對象實例化的方式
定義一個函數只要不是函數聲明,就要記着寫{},即使{}不寫任何的語句。