首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

C++ 構造函數執行原理圖解:參數接收、初始化列表、函數體順序

     編輯:C++ 入門

構造函數四步執行流程

  1. 接收參數:主調函數傳遞的實參綁定到形參。
  2. 進入函數體:執行花括號 `{` 之前的隱式初始化列表。
  3. 初始化列表:按成員在類中聲明順序(非列表書寫順序)依次初始化。若列表中未顯式初始化,則調用默認構造。
  4. 執行函數體:進入 `{ ... }` 內的語句。

示例代碼

#include <iostream>
using namespace std;
class GZHS{
public:
    GZHS(int a=0,int b=0): m_b(b), m_a(a){ // 列表順序與聲明順序不同
        cout<

關鍵點

  • 初始化順序**僅取決於成員聲明順序**,與初始化列表書寫順序無關。
  • 類似醫院掛號:先掛號(聲明順序)先診治,與你排隊(列表順序)無關。
  • 引用成員、const 成員、無默認構造的成員**必須**在初始化列表中初始化。
  • 基類構造函數先於派生類成員初始化,按繼承聲明順序。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved