C++ 類別與 const 關鍵字深度解析
前言 在 C++ 類別設計中,若希望特定資料成員或成員函數不可被修改,const 關鍵字是不可或缺的工具。它可修飾成員變數、成員函數乃至整個物件,提供編譯期的安
C++ friend 友元函數與友元類:打破封裝邊界的受控訪問機制
友元核心概念 友元:非類成員、非派生類,但被授權訪問類的 private/protected 成員。關鍵字 friend。 單向:A 是 B 友元 ≠ B 是
C++ class 與 struct 區別:默認訪問權限、繼承方式與模板支援的三大核心差異
核心差異速覽 特性classstruct 成員默認訪問權限privatepublic 繼承默認方式privatepublic 模板參數聲明可用 templat
C++ string 類完全指南:構造、輸入輸出、操作、轉換與高效字符串處理實戰
string 類優勢 std::string 封裝動態字符數組,提供自動記憶體管理、豐富操作介面、運算符重載,完全替代 C 風格字符串(char*/char[]
C++ 引用核心概念與基本使用:別名機制、參數傳遞與返回值優化完全指南
引用的本質:變數的別名 引用是變數的別名,不佔用獨立記憶體,與原變數共享同一地址。類似 Windows 快捷方式或人的綽號。 定義語法與初始化規則 型別 &a
C++ 繼承核心概念與語法:從現實類比到代碼實現的入門指南
繼承的直觀理解 繼承:類與類之間的「是一種」關係。如兒子繼承父親財產,派生類獲得基類的成員變數與成員函數,並可新增自己的成員增強功能。 核心術語 術語別名角
C++ 繼承權限與繼承方式詳解:public/protected/private 三種模式的訪問控制邏輯
繼承方式語法 class Derived : [繼承方式] Base { ... }; // 可選,默認 private 繼承方式限定基類成員在派生類中的最大
C++ 繼承時的名字遮蔽:同名成員函數不構成重載的深層機制
名字遮蔽核心規則 派生類成員(變數/函數)與基類同名時,派生類成員遮蔽基類同名成員。遮蔽發生在名字查找階段,與參數列表無關。 成員函數遮蔽實戰 class P
C++ 派生類構造函數:基類初始化機制、參數傳遞與調用順序鐵律
核心矛盾與解決方案 矛盾:派生類需初始化繼承來的基類成員,但基類 private 成員在派生類不可訪問。 解決:派生類構造函數調用基類構造函數完成基類部分初始化
C++ 派生類析構函數:自動調用機制、逆序執行規則與資源管理鐵律
析構函數繼承特性 不被繼承:派生類不繼承基類析構函數 無需顯式調用:編譯器自動在派生類析構後調用基類析構 每類僅一個:無重載,編譯器明確知道調用哪個 執行
C++ 類的多重繼承:語法、構造析構順序、命名衝突解決與實務建議
多重繼承語法 class D : public A, private B, protected C { // D 新增成員 }; 基類用逗號分隔,各自
C++ 虛繼承構造函數機制:虛基類由最派生類初始化的強制規則與執行順序
虛繼承構造核心規則 虛基類由最終最派生類直接初始化,而非由中間派生類初始化。這打破了普通繼承「只初始化直接基類」的規則。 菱形繼承實戰演示 #include
C++ 向上轉型詳解:派生類向基類賦值的三種形式與記憶體佈局真相
向上轉型核心概念 向上轉型:將派生類物件/指針/引用賦值給基類物件/指針/引用。方向:派生 → 基(繼承圖向上)。安全、隱式、編譯器自動完成。 對應向下轉型:基
C++ 多態核心機制詳解:從虛函數到動態綁定的通俗指南
為什麼需要多態? 在繼承體系中,基類指針指向派生類對象時,若直接呼叫成員函數,預設會調用基類版本——這顯然違背直覺。請看經典案例: display(); //
C++ 虛函數深度解析:多態機制核心、覆寫規則與設計決策指南
虛函數核心規則速覽 #規則關鍵點 1聲明處加 virtual定義處可加可不加,建議一致性 2基類虛函數自動傳遞派生類同名同簽名函數自動為虛函數 3派生類未覆寫
C++ 純虛函數與抽象類:定義介面契約、強制派生實現與多態基石
純虛函數語法與語義 virtual 返回型別 函數名(參數列表) = 0; = 0 為純虛標記,非返回值 無函數體,僅聲明 告訴編譯器:「派生類必須實現此函數
C++ typeid 運算符詳解:運行時類型識別 (RTTI) 核心機制
typeid 核心功能 typeid 用於獲取表達式或類型的類型信息,返回 const type_info&。類型信息包含:基本型別的名稱、類型別的類關係、成員