C++從0開始:構造函數與對象初始化
構造函數用於對象創建時自動初始化成員變量,避免手動賦值的麻煩。它是特殊成員函數,名稱與類名相同,無返回類型,創建對象時自動調用。若未定義構造函數,編譯器生成空體默認構造函數;若定義帶參構造,默認構造需手動編寫(如無參或參數帶默認值)。初始化列表直接初始化成員變量,更高效,const成員變量必須用此方式。需注意:構造函數不能有返回類型,初始化列表順序不影響成員聲明順序。通過構造函數確保對象初始狀態合理,避免隨機值,提升代碼安全性與可維護性。
閱讀全文C++函數重載入門:同名函數的不同實現
C++函數重載允許同一作用域內用相同函數名定義參數列表不同的函數,核心是參數個數、類型或順序不同(返回值無關)。其作用是簡化代碼,避免重複命名相似功能函數,如用`add(int, int)`和`add(double, double)`處理不同類型相加。例如,`max(int, int)`與`max(double, double)`可分別比較整數和浮點數最大值,`sum(int, int)`與`sum(int, int, int)`支持不同參數個數求和。注意:僅返回值不同不構成重載(如`int`和`double`版本的`max`),參數順序不同(如`func(int, double)`和`func(double, int)`)是重載。使用時避免過度重載,編譯器會按參數類型、個數、順序匹配最接近的版本。
閱讀全文新手必學:C++友元函數基礎入門
### C++友元函數概括 C++友元函數可突破類的訪問權限限制,允許外部函數直接訪問類的私有(`private`)或保護(`protected`)成員。 **核心要點**: - **定義**:特殊函數,非類成員,通過`friend`關鍵字聲明。 - **聲明**:在類中用`friend 返回類型 函數名(參數列表);`聲明,位置可任意但通常放`public`部分。 - **定義**:在類外直接定義,無需類名/作用域(`::`)。 - **調用**:作爲普通函數直接調用(如`函數名(對象)`),無需通過類對象成員函數調用。 **特性**:單向性(僅聲明方允許訪問)、非對稱性(友元類間不自動雙向訪問)、無`this`指針(需通過參數對象/指針訪問成員)。 **注意**:過度使用破壞封裝性,友元關係不繼承,函數可同時爲多類友元。 **作用**:簡化代碼(避免大量`getter/setter`),但需謹慎使用以維護類的封裝性
閱讀全文從0開始學C++:if-else條件語句實戰案例
本文介紹C++中if-else條件語句,用於根據條件執行不同操作,核心思想是條件成立則執行對應代碼塊,否則執行另一塊,賦予程序決策能力。語法分三種:單條件用`if(條件)`執行對應代碼;二選一用`if-else`,條件成立執行if塊,否則執行else塊;多條件用`else if`,需從上到下按範圍從大到小判斷(如成績等級先判斷≥90再80-89等),避免邏輯錯誤。 實戰案例包括:判斷奇偶數(用`%2==0`判斷)和成績等級(0-100分分段輸出A/B/C/D/F),並處理非法分數。注意事項:條件表達式必須爲布爾值(如用`==`而非賦值`=`);else if順序需從大到小;建議加代碼塊大括號;避免條件範圍錯誤。 總結:if-else是基礎控制語句,掌握其語法與邏輯順序,可通過嵌套或switch擴展處理更多分支,培養程序決策思維。
閱讀全文C++ cin與cout:輸入輸出流基礎教程
本文介紹C++中通過`cin`和`cout`實現輸入輸出的基礎方法。輸入輸出流由`<iostream>`庫提供,需包含該頭文件並使用`using namespace std;`簡化代碼。 `cin`通過提取運算符`>>`從鍵盤讀取數據,語法爲`cin >> 變量`,支持整數、浮點數等類型,例如讀取年齡存入`int`變量。`cout`通過插入運算符`<<`輸出數據,支持連續輸出,語法爲`cout << 數據1 << 數據2`,可輸出字符串、數字等。讀取帶空格的字符串需用`getline(cin, 字符串變量)`(需包含`<string>`頭文件)。 注意事項包括:輸入前必須定義變量,數據類型需匹配,避免遺漏頭文件,連續輸入可用空格分隔。掌握`cin`/`cout`的運算符及數據類型處理(如`getline`),即可實現基礎輸入輸出功能。
閱讀全文