- 博客(106)
- 资源 (6)
- 收藏
- 关注
原创 C++ 文件读写
文本文件的读写操作主要通过提供的 std::ifstream(输入文件流)、std::ofstream(输出文件流)和 std::fstream(读写文件流)来实现。常见操作包括打开文件、读写内容、关闭文件等。
2025-06-21 22:39:10
375
原创 C++ 运算符重载
运算符重载(Operator Overloading)允许为自定义类型(如类、结构体)赋予类似内置类型的运算符行为,使对象之间可以使用+、-、==、<<等运算符进行操作,提升代码的可读性和易用性。
2025-06-19 23:02:53
1198
原创 C++ 友元
• 友元机制打破了类的封装性,应谨慎使用,只在确有需要时开放接口。• 友元关系是单向的、不可传递的。• 友元可以是全局函数、类、或成员函数,灵活控制访问权限。
2025-06-19 21:12:40
167
原创 C++ 对象特性
• 静态成员变量在程序生命周期内只有一份,节省内存。• 静态成员函数没有this指针。• 常用于计数、全局配置、工具函数等场景。
2025-06-19 00:06:07
958
原创 C++ 多态特性
• 多态通过虚函数实现“同一接口多种实现”。• 纯虚函数和抽象类用于统一接口、强制派生类实现。• 虚析构保证多态删除安全。• 电脑组装案例体现了多态的灵活性和扩展性。
2025-06-18 11:38:21
298
原创 C++ 继承特性
• 继承让子类复用父类成员,支持多种继承方式。• 构造/析构顺序:先父后子,析构反之。• 同名成员、静态成员可用作用域区分。• 菱形继承用虚继承解决二义性和冗余。
2025-06-17 21:06:37
423
原创 C++ 封装特性
• 封装将属性和行为组合为一个整体,保护数据安全。• 通过访问权限控制成员的可见性。• 推荐用class并将属性私有,行为公有。• 通过getter/setter访问和修改私有属性,体现封装思想。
2025-06-17 20:24:56
307
原创 C++ 函数使用进阶
• 默认参数简化调用,注意只能右侧连续设置。• 占位参数用于接口兼容或保留参数位。• 函数重载要求参数列表不同,返回值不同不构成重载,注意避免默认参数引发的歧义。
2025-06-17 20:10:01
202
原创 C++ 引用的使用
• 引用是变量的别名,必须初始化且不可更改绑定。• 作为函数参数可高效传递和修改数据,作为返回值可实现链式操作。• 常量引用可保护数据,支持绑定常量和临时对象。• 引用本质上是更安全、简洁的指针替代方案。
2025-06-17 19:33:15
232
原创 C++内存模型
区域作用/内容生命周期释放方式代码区程序指令程序运行期OS自动管理全局区全局/静态变量、常量字符串程序运行期程序结束时释放栈区局部变量、参数作用域内自动释放堆区动态分配的内存手动控制手动释放(delete)
2025-06-16 19:28:13
380
原创 C++ 结构体
结构体用于将不同类型的数据int age;Person p1;return 0;• 结构体可组合多种类型数据,支持数组、指针、嵌套、函数参数等多种用法。• 推荐用引用或指针传递结构体参数,提升效率。• 合理使用const可增强安全性和可读性。
2025-06-16 19:10:04
429
原创 C++指针的使用
指针是存储变量地址的变量。类型 * 指针名;int a = 10;// p存储a的地址// 输出10,*p为解引用• 指针是C++强大但需谨慎使用的特性,能高效操作内存和实现复杂数据结构。• 正确初始化、使用const、避免野指针和空指针,是安全使用指针的关键。
2025-06-16 17:30:28
581
原创 C++ 函数的使用
返回类型 函数名(参数列表) {// 函数体return 返回值;// 如果返回类型不是void• 函数定义包括返回类型、参数列表和函数体。• 调用时传递参数,默认值传递。• 常见样式有无参、无返回值、有默认参数等。• 分文件编写时需声明函数原型,便于模块化和代码管理。
2025-06-16 15:42:08
291
原创 C++数组的使用
• 一维数组:类型 数组名[长度];• 二维数组:类型 数组名[行][列];• 数组名常用作指针,不能整体赋值或比较,常用于遍历、传参等场景。
2025-06-15 14:18:23
184
原创 C++中的跳转语句
• break:跳出循环或switch。• continue:跳过本次循环,进入下一轮。• goto:无条件跳转到指定标签,慎用。
2025-06-10 22:57:35
383
原创 循环结构使用
循环结构先判断条件至少执行一次适用场景for是否已知次数while是否条件驱动do while否是至少执行一次的场景选择循环结构时,根据循环次数是否已知、是否至少执行一次等实际需求选择合适的语句。注意避免死循环和遗漏循环变量的更新。
2025-06-10 22:27:23
788
原创 if 选择结构
• 单行if适合简单判断。• 多行if用大括号包裹多条语句。• 多条件if适合多个分支选择。• 嵌套if适合需要多层条件判断的场景。
2025-06-09 11:33:24
258
原创 逻辑运算符
• 逻辑运算符常用于条件判断和复合条件表达式。• 逻辑运算符的结果类型为bool。• 逻辑运算符具有短路特性:&&左边为false时右边不再计算,||左边为true时右边不再计算。
2025-06-09 11:01:08
334
原创 比较运算符
可以在自定义类中重载比较运算符,实现对象间的比较。• 比较运算符用于判断两个值或对象的关系,结果为true或false。• 标准类型和常用库类型(如std::string)都支持这些运算符。• 可以通过重载运算符,实现自定义类型的比较逻辑。
2025-06-09 10:44:03
351
原创 赋值运算符
• 这些运算符大多数可以被自定义类型(如类)重载,实现特定的赋值逻辑。• 复合赋值运算符通常返回对自身的引用(*this),支持链式操作。• 例如,std::string重载了+=,用于字符串拼接。
2025-06-09 10:30:44
480
原创 算数运算符
递增/递减运算符常用于循环、计数等场景。前置和后置的区别在于变量值变化的时机。• 前置递增/递减:++a 或 --a,先加/减1再使用变量。• 后置递增/递减:a++ 或 a–,先使用变量再加/减1。• / 用于整数时结果为整数(小数部分被舍弃)。• % 只能用于整数类型,表示取余数。
2025-06-08 20:04:32
292
原创 数据类型 -- 布尔
• 任何非零整数赋值给 bool 都会被转换为 true,只有 0 会被转换为 false。用于表示逻辑上的“真”或“假”。• bool 类型变量在内存中通常占1字节。布尔类型常用于条件判断、循环等控制结构。布尔类型(bool)• false(假)
2025-06-08 19:37:17
243
原创 数据类型 -- 字符串
• 简单字符串用 std::string。• 需要支持多语言或特殊字符时用 std::wstring 或 wchar_t 数组。• C风格字符串历史悠久,但操作复杂,容易出错。推荐用 std::string。
2025-06-08 16:31:30
448
原创 数据类型 -- 字符
在C++中,字符型(char)用于存储单个字符,如字母、数字、符号等。字符型是最基本的数据类型之一,常用于处理文本、字符数组(字符串)等场景。
2025-06-07 23:36:02
670
原创 数据类型--实型
C++中的实型用于存储带小数的数值,常用的有float(单精度)、double(双精度)、long double(扩展精度)。选择时根据精度和内存需求权衡。
2025-06-07 23:03:46
529
原创 常量与变量
• 变量用于存储可以变化的数据。• 常量用于存储不会变化的数据,使用const修饰,防止被意外修改。• 养成合理使用常量的习惯,有助于代码安全和可读性。
2025-06-07 15:48:26
276
原创 Opencascade三维环境搭建
https://download.youkuaiyun.com/download/ha0ha0xuexi/90031722
2024-11-24 15:51:25
349
原创 opencascade实现一些刀具路径规划方法
学习opencascade,通过输入零件的内、外边界轮廓环(红色标出),实现一些常见刀具加工路径算法(绿色标出)。
2022-06-12 12:03:46
2755
6
原创 基于opencascade+qt开发简易的加工刀具轨迹
借鉴基于opencascade开发的开源CAD/CAM/CAE软件FreeCAD,HeeksCAM等尝试生成三轴零件的加工刀具轨迹。偏置刀具轨迹生成:zigzag刀具轨迹生成:螺旋刀具轨迹生成:轮廓刀具轨迹生成:在此基础上,后续需要结合加工参数,生成连接刀具轨迹,以及细节处理。...
2022-06-08 18:12:56
2873
9
Opencascade三维环境搭建
2024-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅