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`),即可实现基础输入输出功能。

阅读全文