- 博客(8)
- 收藏
- 关注
原创 C++运算符重载学习感悟
同时我也明白,运算符重载需适度,需符合直觉,否则会增加代码理解成本。重载赋值运算符时,我曾因忽略浅拷贝问题导致内存重复释放,反复调试后才深刻理解,运算符重载绝非简单语法套用,必须结合类的内存管理逻辑。从最初对语法规则的困惑,到如今能熟练为自定义类重载常用运算符,这段学习经历让我收获颇丰。对象,需定义为全局函数或友元函数。这一细节让我领悟到,运算符重载的核心是模拟内置类型行为,必须遵循其原本的优先级、结合性,不可强行改变本质规则。即可完成操作,代码简洁直观,完全贴合内置类型的使用习惯,大幅提升了代码可读性。
2025-12-26 21:24:31
158
原创 C++多态学习总结
而动态多态是学习的重点,其依赖虚函数、继承和指针/引用实现,运行时才确定调用的具体函数,这也是多态最具价值的部分。在实操中,我掌握了动态多态的关键要点:基类需声明虚函数(加virtual关键字),派生类重写该函数,通过基类指针或引用指向派生类对象时,会自动调用派生类的重写函数。我曾因未使用指针/引用直接调用派生类对象,导致多态失效,排查后才明白只有借助指针或引用,才能突破编译期的类型限制,触发运行时的动态绑定。总的来说,多态让我体会到面向对象编程的灵活性,它能降低代码耦合度,让程序更易扩展。
2025-12-14 14:57:32
161
原创 C++派生类学习总结
起初我常混淆三种方式的权限变化,通过“学生-研究生”的实例练习,将学生作为基类,研究生作为派生类,对比不同继承方式下“学号”“成绩”等成员的访问效果,终于彻底厘清了这一逻辑。起初我常混淆三种方式的权限变化,通过“学生-研究生”的实例练习,将学生作为基类,研究生作为派生类,对比不同继承方式下“学号”“成绩”等成员的访问效果,终于彻底厘清了这一逻辑。在练习“形状-圆形”的继承关系时,我重写了基类的“计算面积”函数,深刻体会到重写如何让派生类在保留基类共性的同时拥有自身特性。
2025-12-08 10:06:10
309
原创 C++友元与常成员、常对象学习总结
而常成员函数则是用`const`关键字修饰的成员函数(`const`放在函数参数列表后、函数体前),它承诺不会修改类的成员变量(除非成员变量被`mutable`修饰),这也是常对象能调用它的关键原因。例如在重载流插入运算符`<<`时,由于`cout`是`ostream`类的对象,无法作为成员函数的第一个参数,此时将`operator<<`声明为类的友元函数,就能直接访问类的私有成员,实现自定义输出格式。友元类则是将整个类声明为另一个类的友元,此时友元类的所有成员函数都能访问原类的私有/保护成员。
2025-11-30 13:57:41
380
原创 C++类与构造函数学习总结
最初我疑惑“为何需要构造函数”,直到尝试手动初始化成员变量时发现,若成员变量为private权限,外部无法直接赋值,而构造函数能在对象实例化时自动调用,完成成员变量的初始化,解决了这一问题。拷贝构造函数则用于根据已有对象创建新对象,其参数为const引用类型(`类名(const 类名& obj)`),这一设计既避免了对象的冗余拷贝,又能防止对原对象的意外修改,我通过调试发现,当函数按值传递对象、函数返回对象等场景下,拷贝构造函数会被隐式调用,这让我对对象的生命周期有了更深入的理解。
2025-11-23 21:42:04
308
原创 C++类与构造、析构函数学习总结
比如定义一个`Student`类时,成员变量可以是`name`(姓名)、`age`(年龄)、`studentId`(学号),成员函数则可以是`showInfo()`(显示学生信息)、`updateAge()`(更新年龄)。这里需要特别注意访问权限控制符的作用:`public`(公有权限,类内外均可访问,常用于成员函数)、`private`(私有权限,仅类内可访问,常用于成员变量,避免外部随意修改数据,保障数据安全性)、`protected`(保护权限,类内及子类可访问,为继承预留扩展空间)。
2025-11-13 21:06:23
392
原创 C++多重指针学习感悟
后来我用“钥匙与盒子”的类比梳理逻辑: int a=10 是放在抽屉里的物品,一级指针 int* p=&a 是打开抽屉的钥匙,而二级指针 int** pp=&p 则是装这把钥匙的盒子。就像三级指针 int*** ppp ,无非是“装钥匙盒子的密码箱”,只要顺着“变量-地址-指向”的链条拆解,再复杂的层级也能理清楚。初学C++多重指针时, int** int*** 这类符号于我而言更像一串无意义的字符,资料里“指针的指针”“间接访问”等概念翻来覆去看了好几遍,依旧陷在“套娃”的混沌里。
2025-10-25 16:20:07
168
原创 初学C++的学习感悟
我第一次接触到常量与变量的概念,学会了根据数据需求选择合适的类型——从表示整数的int到处理小数的double,从存储字符的char到判断真假的bool,每一种类型都有其特定的用途。让我印象最深的是对“变量初始化”的理解,起初我图省事跳过初始化步骤,结果在后续的计算中出现了莫名其妙的错误,这才意识到“未初始化的变量会存储随机值”这一细节的重要性。经过一段时间对前两章内容的学习,我不仅初步搭建起C++的基础认知框架,更在从“零”到“一”的探索中,体会到编程学习的逻辑之美与挑战之趣。
2025-10-18 19:11:56
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅