日常积累及较为零碎的东西
文章平均质量分 56
月升中天明如玦
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
子类和父类签名不一致导致的错误
在子类中写的是Monster* createMonster(int life, int magic, int attack) ,导致这个错误,这是因为什么。❗ 子类中的函数 和 父类中纯虚函数 签名不一致,所以 并没有真正“重写”父类的纯虚函数,编译器认为该子类仍是抽象类,不能实例化对象。由于函数签名(即函数名 + 参数类型)不一致,所以子类这个函数并没有重写父类的纯虚函数,只是自己添加了一个新的同名函数而已。✅ 方案二:保留父类签名,子类内部自行处理默认值或其他机制(不推荐)这是一个不带参数的纯虚函数。原创 2025-06-02 13:50:09 · 295 阅读 · 0 评论 -
在UML图中,构造函数和析构函数需要写在图里吗
如果你用的是某些工具(如 StarUML、PlantUML),也可以通过设置控制是否自动生成构造/析构函数。在 UML 类图中,构造函数和析构函数可以写,也可以不写,这取决于你想要表达的细节程度和读者的需求。构造函数: 像普通方法一样表示,通常函数名与类名相同(如 C++)。在UML图中,构造函数和析构函数需要写在图里吗。析构函数(C++): 函数名前加 ~ 符号。原创 2025-06-02 12:48:10 · 410 阅读 · 0 评论 -
c++构造函数冒号问题
这是初始化列表,表示在构造对象时,直接用传入的参数 life, magic, attack 来初始化类的成员变量 m_life, m_magic, m_attack。不过这是在函数体内赋值,而初始化列表是在对象构造时立即完成初始化,性能更好,且必须用于一些只能在构造阶段初始化的成员(例如 const 成员、引用类型成员等)。原创 2025-06-02 11:53:34 · 479 阅读 · 0 评论 -
指针写作问题(风格问题,与逻辑无关)
这就是为何建议 不要在一行声明多个指针变量,即使你选择了 Monster* monster 的写法。更符合“类型修饰”的思维,Monster* 表示这是一个指向 Monster 类型的指针。这是一个 风格问题,即写法规范问题,不影响程序功能。无论哪种写法,都不要在一行中声明多个指针变量。指针,一般是Monster* monster,还是写成Monster。monster比较好,就是。🔍 实际风格取决于团队规范。原创 2025-06-02 11:42:43 · 230 阅读 · 0 评论 -
头文件引用使用引号和尖括号的问题
如果你想把自己写的代码像标准库一样组织起来,也可以使用 <xxx.h>,只要你配置好路径。否则推荐用 “”,简单明了、跨平台无误。这是一个非常经典但容易混淆的问题,涉及 C/C++ 中的头文件包含规则。这些目录已经默认配置在编译器的搜索路径中,使用 #include 就可以自动找到。这样你自己的头文件就能用 #include <yourfile.h> 的方式引用。为啥自己写的头文件只能用双引号引用,而ide提供的头文件可以使用尖括号引用。因为你写的头文件一般都放在项目目录或源码文件夹里,不在系统目录下。原创 2025-06-01 22:16:35 · 539 阅读 · 0 评论 -
声明和定义的区别
2.请分析我对声明和定义的理解是否正确,声明是创造出这个类,而定义是对类和类的成员进行详细的逻辑代码书写,也叫实现,因而定义也可以完全等同于实现。“声明是创造出这个类,而定义是对类和类的成员进行详细的逻辑代码书写,也叫实现,因而定义也可以完全等同于实现。“声明确定了变量的类型,定义为变量赋一个特定的值。作用:告诉编译器某个变量、函数或类的名字、类型和存在形式,但不分配内存也不提供实现。关键词:真正“实现”了这个东西,是“落地”的部分。作用:为变量分配内存,或提供函数/类的完整实现。原创 2025-06-01 21:55:43 · 201 阅读 · 0 评论 -
快捷方式积累
常用快捷方式原创 2024-12-23 20:27:53 · 197 阅读 · 0 评论 -
csdn写文章时会用到的标签-积累
HTML标签积累原创 2024-12-13 21:05:47 · 256 阅读 · 0 评论
分享